<html><head> <link rel="stylesheet" href="style.css" type="text/css"> <meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type"> <link rel="Start" href="index.html"> <link title="Index of types" rel=Appendix href="index_types.html"> <link title="Index of exceptions" rel=Appendix href="index_exceptions.html"> <link title="Index of values" rel=Appendix href="index_values.html"> <link title="Index of modules" rel=Appendix href="index_modules.html"> <link title="Pdfutil" rel="Chapter" href="Pdfutil.html"> <link title="Pdfio" rel="Chapter" href="Pdfio.html"> <link title="Pdftransform" rel="Chapter" href="Pdftransform.html"> <link title="Pdfunits" rel="Chapter" href="Pdfunits.html"> <link title="Pdfpaper" rel="Chapter" href="Pdfpaper.html"> <link title="Pdf" rel="Chapter" href="Pdf.html"> <link title="Pdfcrypt" rel="Chapter" href="Pdfcrypt.html"> <link title="Pdfflate" rel="Chapter" href="Pdfflate.html"> <link title="Pdfcodec" rel="Chapter" href="Pdfcodec.html"> <link title="Pdfwrite" rel="Chapter" href="Pdfwrite.html"> <link title="Pdfgenlex" rel="Chapter" href="Pdfgenlex.html"> <link title="Pdfread" rel="Chapter" href="Pdfread.html"> <link title="Pdfjpeg" rel="Chapter" href="Pdfjpeg.html"> <link title="Pdfops" rel="Chapter" href="Pdfops.html"> <link title="Pdfdest" rel="Chapter" href="Pdfdest.html"> <link title="Pdfmarks" rel="Chapter" href="Pdfmarks.html"> <link title="Pdfpagelabels" rel="Chapter" href="Pdfpagelabels.html"> <link title="Pdfpage" rel="Chapter" href="Pdfpage.html"> <link title="Pdfannot" rel="Chapter" href="Pdfannot.html"> <link title="Pdffun" rel="Chapter" href="Pdffun.html"> <link title="Pdfspace" rel="Chapter" href="Pdfspace.html"> <link title="Pdfimage" rel="Chapter" href="Pdfimage.html"> <link title="Pdfafm" rel="Chapter" href="Pdfafm.html"> <link title="Pdfafmdata" rel="Chapter" href="Pdfafmdata.html"> <link title="Pdfglyphlist" rel="Chapter" href="Pdfglyphlist.html"> <link title="Pdftext" rel="Chapter" href="Pdftext.html"> <link title="Pdfstandard14" rel="Chapter" href="Pdfstandard14.html"> <link title="Pdfgraphics" rel="Chapter" href="Pdfgraphics.html"> <link title="Pdfshapes" rel="Chapter" href="Pdfshapes.html"> <link title="Pdfdate" rel="Chapter" href="Pdfdate.html"> <link title="Pdfocg" rel="Chapter" href="Pdfocg.html"> <link title="Pdfcff" rel="Chapter" href="Pdfcff.html"> <link title="Pdftype1" rel="Chapter" href="Pdftype1.html"> <link title="Pdftruetype" rel="Chapter" href="Pdftruetype.html"> <link title="Pdftype0" rel="Chapter" href="Pdftype0.html"> <link title="Pdfmerge" rel="Chapter" href="Pdfmerge.html"><title>Pdf</title> </head> <body> <code class="code"><span class="keyword">sig</span><br> <span class="keyword">type</span> stream = <span class="constructor">Got</span> <span class="keyword">of</span> <span class="constructor">Pdfio</span>.bytes <span class="keywordsign">|</span> <span class="constructor">ToGet</span> <span class="keyword">of</span> <span class="constructor">Pdfio</span>.input * int * int<br> <span class="keyword">type</span> pdfobject =<br> <span class="constructor">Null</span><br> <span class="keywordsign">|</span> <span class="constructor">Boolean</span> <span class="keyword">of</span> bool<br> <span class="keywordsign">|</span> <span class="constructor">Integer</span> <span class="keyword">of</span> int<br> <span class="keywordsign">|</span> <span class="constructor">Real</span> <span class="keyword">of</span> float<br> <span class="keywordsign">|</span> <span class="constructor">String</span> <span class="keyword">of</span> string<br> <span class="keywordsign">|</span> <span class="constructor">Name</span> <span class="keyword">of</span> string<br> <span class="keywordsign">|</span> <span class="constructor">Array</span> <span class="keyword">of</span> <span class="constructor">Pdf</span>.pdfobject list<br> <span class="keywordsign">|</span> <span class="constructor">Dictionary</span> <span class="keyword">of</span> (string * <span class="constructor">Pdf</span>.pdfobject) list<br> <span class="keywordsign">|</span> <span class="constructor">Stream</span> <span class="keyword">of</span> (<span class="constructor">Pdf</span>.pdfobject * <span class="constructor">Pdf</span>.stream) <span class="constructor">Pervasives</span>.ref<br> <span class="keywordsign">|</span> <span class="constructor">Indirect</span> <span class="keyword">of</span> int<br> <span class="keyword">type</span> objectdata =<br> <span class="constructor">Parsed</span> <span class="keyword">of</span> <span class="constructor">Pdf</span>.pdfobject<br> <span class="keywordsign">|</span> <span class="constructor">ParsedAlreadyDecrypted</span> <span class="keyword">of</span> <span class="constructor">Pdf</span>.pdfobject<br> <span class="keywordsign">|</span> <span class="constructor">ToParse</span><br> <span class="keywordsign">|</span> <span class="constructor">ToParseFromObjectStream</span> <span class="keyword">of</span> int * int *<br> (int <span class="keywordsign">-></span><br> int list <span class="keywordsign">-></span> (int * (<span class="constructor">Pdf</span>.objectdata <span class="constructor">Pervasives</span>.ref * int)) list)<br> <span class="keyword">type</span> pdfobjmap_key = int<br> <span class="keyword">type</span> pdfobjmap =<br> (<span class="constructor">Pdf</span>.pdfobjmap_key, <span class="constructor">Pdf</span>.objectdata <span class="constructor">Pervasives</span>.ref * int) <span class="constructor">Hashtbl</span>.t<br> <span class="keyword">val</span> pdfobjmap_empty : unit <span class="keywordsign">-></span> <span class="constructor">Pdf</span>.pdfobjmap<br> <span class="keyword">val</span> pdfobjmap_find :<br> <span class="constructor">Pdf</span>.pdfobjmap_key <span class="keywordsign">-></span> <span class="constructor">Pdf</span>.pdfobjmap <span class="keywordsign">-></span> <span class="constructor">Pdf</span>.objectdata <span class="constructor">Pervasives</span>.ref * int<br> <span class="keyword">type</span> pdfobjects = {<br> <span class="keyword">mutable</span> maxobjnum : int;<br> <span class="keyword">mutable</span> parse : (<span class="constructor">Pdf</span>.pdfobjmap_key <span class="keywordsign">-></span> <span class="constructor">Pdf</span>.pdfobject) option;<br> <span class="keyword">mutable</span> pdfobjects : <span class="constructor">Pdf</span>.pdfobjmap;<br> <span class="keyword">mutable</span> object_stream_ids : (int, int) <span class="constructor">Hashtbl</span>.t;<br> }<br> <span class="keyword">type</span> t = {<br> <span class="keyword">mutable</span> major : int;<br> <span class="keyword">mutable</span> minor : int;<br> <span class="keyword">mutable</span> root : int;<br> <span class="keyword">mutable</span> objects : <span class="constructor">Pdf</span>.pdfobjects;<br> <span class="keyword">mutable</span> trailerdict : <span class="constructor">Pdf</span>.pdfobject;<br> }<br> <span class="keyword">val</span> empty : unit <span class="keywordsign">-></span> <span class="constructor">Pdf</span>.t<br> <span class="keyword">exception</span> <span class="constructor">PDFError</span> <span class="keyword">of</span> string<br> <span class="keyword">val</span> input_pdferror : <span class="constructor">Pdfio</span>.input <span class="keywordsign">-></span> string <span class="keywordsign">-></span> string<br> <span class="keyword">val</span> getstream : <span class="constructor">Pdf</span>.pdfobject <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> getnum : <span class="constructor">Pdf</span>.pdfobject <span class="keywordsign">-></span> float<br> <span class="keyword">val</span> lookup_obj : <span class="constructor">Pdf</span>.t <span class="keywordsign">-></span> int <span class="keywordsign">-></span> <span class="constructor">Pdf</span>.pdfobject<br> <span class="keyword">val</span> lookup_fail :<br> string <span class="keywordsign">-></span> <span class="constructor">Pdf</span>.t <span class="keywordsign">-></span> string <span class="keywordsign">-></span> <span class="constructor">Pdf</span>.pdfobject <span class="keywordsign">-></span> <span class="constructor">Pdf</span>.pdfobject<br> <span class="keyword">val</span> lookup_exception :<br> exn <span class="keywordsign">-></span> <span class="constructor">Pdf</span>.t <span class="keywordsign">-></span> string <span class="keywordsign">-></span> <span class="constructor">Pdf</span>.pdfobject <span class="keywordsign">-></span> <span class="constructor">Pdf</span>.pdfobject<br> <span class="keyword">val</span> lookup_direct :<br> <span class="constructor">Pdf</span>.t <span class="keywordsign">-></span> string <span class="keywordsign">-></span> <span class="constructor">Pdf</span>.pdfobject <span class="keywordsign">-></span> <span class="constructor">Pdf</span>.pdfobject option<br> <span class="keyword">val</span> indirect_number : <span class="constructor">Pdf</span>.t <span class="keywordsign">-></span> string <span class="keywordsign">-></span> <span class="constructor">Pdf</span>.pdfobject <span class="keywordsign">-></span> int option<br> <span class="keyword">val</span> lookup_direct_orelse :<br> <span class="constructor">Pdf</span>.t <span class="keywordsign">-></span> string <span class="keywordsign">-></span> string <span class="keywordsign">-></span> <span class="constructor">Pdf</span>.pdfobject <span class="keywordsign">-></span> <span class="constructor">Pdf</span>.pdfobject option<br> <span class="keyword">val</span> remove_dict_entry : <span class="constructor">Pdf</span>.pdfobject <span class="keywordsign">-></span> string <span class="keywordsign">-></span> <span class="constructor">Pdf</span>.pdfobject<br> <span class="keyword">val</span> replace_dict_entry :<br> <span class="constructor">Pdf</span>.pdfobject <span class="keywordsign">-></span> string <span class="keywordsign">-></span> <span class="constructor">Pdf</span>.pdfobject <span class="keywordsign">-></span> <span class="constructor">Pdf</span>.pdfobject<br> <span class="keyword">val</span> add_dict_entry :<br> <span class="constructor">Pdf</span>.pdfobject <span class="keywordsign">-></span> string <span class="keywordsign">-></span> <span class="constructor">Pdf</span>.pdfobject <span class="keywordsign">-></span> <span class="constructor">Pdf</span>.pdfobject<br> <span class="keyword">val</span> direct : <span class="constructor">Pdf</span>.t <span class="keywordsign">-></span> <span class="constructor">Pdf</span>.pdfobject <span class="keywordsign">-></span> <span class="constructor">Pdf</span>.pdfobject<br> <span class="keyword">val</span> objcard : <span class="constructor">Pdf</span>.t <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> removeobj : <span class="constructor">Pdf</span>.t <span class="keywordsign">-></span> int <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> addobj : <span class="constructor">Pdf</span>.t <span class="keywordsign">-></span> <span class="constructor">Pdf</span>.pdfobject <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> addobj_given_num : <span class="constructor">Pdf</span>.t <span class="keywordsign">-></span> int * <span class="constructor">Pdf</span>.pdfobject <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> parse_rectangle : <span class="constructor">Pdf</span>.pdfobject <span class="keywordsign">-></span> float * float * float * float<br> <span class="keyword">val</span> parse_matrix :<br> <span class="constructor">Pdf</span>.t <span class="keywordsign">-></span> string <span class="keywordsign">-></span> <span class="constructor">Pdf</span>.pdfobject <span class="keywordsign">-></span> <span class="constructor">Pdftransform</span>.transform_matrix<br> <span class="keyword">val</span> make_matrix : <span class="constructor">Pdftransform</span>.transform_matrix <span class="keywordsign">-></span> <span class="constructor">Pdf</span>.pdfobject<br> <span class="keyword">val</span> renumber_pdfs : <span class="constructor">Pdf</span>.t list <span class="keywordsign">-></span> <span class="constructor">Pdf</span>.t list<br> <span class="keyword">val</span> unique_key : string <span class="keywordsign">-></span> <span class="constructor">Pdf</span>.pdfobject <span class="keywordsign">-></span> string<br> <span class="keyword">val</span> objiter : (int <span class="keywordsign">-></span> <span class="constructor">Pdf</span>.pdfobject <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span> <span class="constructor">Pdf</span>.t <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> objiter_inorder : (int <span class="keywordsign">-></span> <span class="constructor">Pdf</span>.pdfobject <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span> <span class="constructor">Pdf</span>.t <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> objiter_gen : (int <span class="keywordsign">-></span> int <span class="keywordsign">-></span> <span class="constructor">Pdf</span>.pdfobject <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span> <span class="constructor">Pdf</span>.t <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> objselfmap : (<span class="constructor">Pdf</span>.pdfobject <span class="keywordsign">-></span> <span class="constructor">Pdf</span>.pdfobject) <span class="keywordsign">-></span> <span class="constructor">Pdf</span>.t <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> iter_stream : (<span class="constructor">Pdf</span>.pdfobject <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span> <span class="constructor">Pdf</span>.t <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> remove_unreferenced : <span class="constructor">Pdf</span>.t <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> changes : <span class="constructor">Pdf</span>.t <span class="keywordsign">-></span> (int, int) <span class="constructor">Hashtbl</span>.t<br> <span class="keyword">val</span> renumber : (int, int) <span class="constructor">Hashtbl</span>.t <span class="keywordsign">-></span> <span class="constructor">Pdf</span>.t <span class="keywordsign">-></span> <span class="constructor">Pdf</span>.t<br> <span class="keyword">val</span> is_whitespace : char <span class="keywordsign">-></span> bool<br> <span class="keyword">val</span> is_not_whitespace : char <span class="keywordsign">-></span> bool<br> <span class="keyword">val</span> recurse_dict :<br> (<span class="constructor">Pdf</span>.pdfobject <span class="keywordsign">-></span> <span class="constructor">Pdf</span>.pdfobject) <span class="keywordsign">-></span><br> (string * <span class="constructor">Pdf</span>.pdfobject) list <span class="keywordsign">-></span> <span class="constructor">Pdf</span>.pdfobject<br> <span class="keyword">val</span> recurse_array :<br> (<span class="constructor">Pdf</span>.pdfobject <span class="keywordsign">-></span> <span class="constructor">Pdf</span>.pdfobject) <span class="keywordsign">-></span> <span class="constructor">Pdf</span>.pdfobject list <span class="keywordsign">-></span> <span class="constructor">Pdf</span>.pdfobject<br> <span class="keyword">val</span> bigarray_of_stream : <span class="constructor">Pdf</span>.pdfobject <span class="keywordsign">-></span> <span class="constructor">Pdfio</span>.bytes<br> <span class="keyword">val</span> objnumbers : <span class="constructor">Pdf</span>.t <span class="keywordsign">-></span> int list<br> <span class="keyword">val</span> objects_of_list :<br> (int <span class="keywordsign">-></span> <span class="constructor">Pdf</span>.pdfobject) option <span class="keywordsign">-></span><br> (int * (<span class="constructor">Pdf</span>.objectdata <span class="constructor">Pervasives</span>.ref * int)) list <span class="keywordsign">-></span> <span class="constructor">Pdf</span>.pdfobjects<br> <span class="keyword">val</span> objects_referenced :<br> string list <span class="keywordsign">-></span><br> (string * <span class="constructor">Pdf</span>.pdfobject) list <span class="keywordsign">-></span> <span class="constructor">Pdf</span>.t <span class="keywordsign">-></span> <span class="constructor">Pdf</span>.pdfobject <span class="keywordsign">-></span> int list<br> <span class="keyword">val</span> generate_id : <span class="constructor">Pdf</span>.t <span class="keywordsign">-></span> string <span class="keywordsign">-></span> (unit <span class="keywordsign">-></span> float) <span class="keywordsign">-></span> <span class="constructor">Pdf</span>.pdfobject<br> <span class="keyword">val</span> is_delimiter : char <span class="keywordsign">-></span> bool<br> <span class="keyword">val</span> page_reference_numbers : <span class="constructor">Pdf</span>.t <span class="keywordsign">-></span> int list<br> <span class="keyword">val</span> catalog_of_pdf : <span class="constructor">Pdf</span>.t <span class="keywordsign">-></span> <span class="constructor">Pdf</span>.pdfobject<br> <span class="keyword">val</span> find_indirect : string <span class="keywordsign">-></span> <span class="constructor">Pdf</span>.pdfobject <span class="keywordsign">-></span> int option<br> <span class="keyword">val</span> renumber_object_parsed :<br> <span class="constructor">Pdf</span>.t <span class="keywordsign">-></span> (int, int) <span class="constructor">Hashtbl</span>.t <span class="keywordsign">-></span> <span class="constructor">Pdf</span>.pdfobject <span class="keywordsign">-></span> <span class="constructor">Pdf</span>.pdfobject<br> <span class="keyword">val</span> nametree_lookup :<br> <span class="constructor">Pdf</span>.t <span class="keywordsign">-></span> <span class="constructor">Pdf</span>.pdfobject <span class="keywordsign">-></span> <span class="constructor">Pdf</span>.pdfobject <span class="keywordsign">-></span> <span class="constructor">Pdf</span>.pdfobject option<br> <span class="keyword">val</span> contents_of_nametree :<br> <span class="constructor">Pdf</span>.t <span class="keywordsign">-></span> <span class="constructor">Pdf</span>.pdfobject <span class="keywordsign">-></span> (<span class="constructor">Pdf</span>.pdfobject * <span class="constructor">Pdf</span>.pdfobject) list<br> <span class="keyword">val</span> deep_copy : <span class="constructor">Pdf</span>.t <span class="keywordsign">-></span> <span class="constructor">Pdf</span>.t<br> <span class="keyword">end</span></code></body></html>