module Pdfcodec:sig
..end
Encoding and Decoding PDF Streams
Currently supported:
type
encoding =
| |
ASCIIHex |
| |
ASCII85 |
| |
RunLength |
| |
Flate |
Supported encodings.
type
predictor =
| |
TIFF2 |
| |
PNGNone |
| |
PNGSub |
| |
PNGUp |
| |
PNGAverage |
| |
PNGPaeth |
| |
PNGOptimum |
Predictors.
exception Couldn'tDecodeStream of string
There was bad data.
exception DecodeNotSupported of string
CamlPDF doesn't support this encoding or its predictor.
val encode_pdfstream : Pdf.t ->
encoding ->
?only_if_smaller:bool ->
?predictor:predictor ->
?predictor_columns:int -> Pdf.pdfobject -> unit
Encode a PDF stream with an encoding. The only predictor supported is PNGUp.
val decode_pdfstream : Pdf.t -> Pdf.pdfobject -> unit
Given a document and stream, decode. The pdf document is updated with the decoded stream. May raise either of the exceptions above.
val decode_pdfstream_onestage : Pdf.t -> Pdf.pdfobject -> unit
Given a document and stream decode just one stage. May raise either of the exceptions above.
val decode_pdfstream_until_unknown : Pdf.t -> Pdf.pdfobject -> unit
Given a document and stream decode until there's an unknown decoder. May
raise Couldn'tDecodeStream
.
val decode_from_input : Pdfio.input -> Pdf.pdfobject -> Pdfio.bytes option
Given a Pdfio.input
with pointer at the first byte and an inline image
stream dictionary, decode the first decoder and its predictor. Return the data,
or None
if this decoder isn't supported but the data pointer has been left in
the right place. The exceptions above can both be raised, in the case of bad
data or a completely unknown encoding.
val flate_level : int Stdlib.ref
Setting this changes globally the FlateDecode compression level. Default 6.
val encode_flate : Pdfio.bytes -> Pdfio.bytes
Encode data in FlateDecode.
val decode_flate : Pdfio.bytes -> Pdfio.bytes
Decode data in FlateDecode.
val debug : bool Stdlib.ref
Setting this boolean prints some debug information.