cpdf-source/cpdfjson.mli
2023-07-27 13:21:15 +01:00

21 lines
1.2 KiB
OCaml

(** Read and write PDFs in CPDFJSON format *)
(** Write a PDF in CPDFJSON format. [parse_content] parses page content
streams, [no_stream_data] will omit stream data, [decompress_streams]
decompresses all streams, [clean_strings] will convert any UTF16BE strings
to PDFDocEncoding if it can. If [utf8] is set, CPDFJSON UTF8 format is used
instead. *)
val to_output : Pdfio.output -> utf8:bool -> parse_content:bool -> no_stream_data:bool -> decompress_streams:bool -> ?clean_strings:bool -> Pdf.t -> unit
(** Read a CPDFJSON PDF from an input. /Length entries will be corrected automatically. *)
val of_input : Pdfio.input -> Pdf.t
(** Convert a single PDF object to CPDFJSON format. [clean_strings] and [utf8] are as above.
Then the PDF file, then a function which is usually [function _ -> ()], then
[no_stream_data] as above, then [parse_content_streams] as above, and
finally the object itself. *)
val json_of_object : utf8:bool -> ?clean_strings:bool -> Pdf.t -> (int -> unit) -> no_stream_data:bool -> parse_content:bool -> Pdf.pdfobject -> Cpdfyojson.Safe.t
(** Convert a single CPDFJSON object to a PDF object *)
val object_of_json : Cpdfyojson.Safe.t -> Pdf.pdfobject