module Pdfcodec:sig..end
Encoding and Decoding PDF Streams
Currently supported:
type encoding =
| |
ASCIIHex |
| |
ASCII85 |
| |
RunLength |
| |
Flate |
| |
CCITT of |
| |
CCITTG4 of |
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 ->
?im:string ->
?only_if_smaller:bool ->
?predictor:predictor ->
?predictor_columns:int -> Pdf.pdfobject -> unitEncode a PDF stream with an encoding. im is the path to imagemagick (only
for CCITTG4) If only_if_smaller is true, the stream remains uncompressed
if compression would make it bigger. predictor and predictor_columns
describe any predictor to be used.
val decode_pdfstream : ?jbig2dec:string -> Pdf.t -> Pdf.pdfobject -> unitGiven a document and stream, decode. The pdf document is updated
with the decoded stream. May raise either of the exceptions above. If
jbig2dec is given, JBIG2 streams will be decompressed with it. Otherwise,
they are left alone.
val decode_pdfstream_onestage : ?jbig2dec:string -> Pdf.t -> Pdf.pdfobject -> unitGiven a document and stream decode just one stage. May raise either of the
exceptions above. If jbig2dec is given, JBIG2 streams will be decompressed
with it. Otherwise, they are left alone.
val decode_pdfstream_until_unknown : ?jbig2dec:string -> Pdf.t -> Pdf.pdfobject -> unitGiven a document and stream decode until there's an unknown decoder. May
raise Couldn'tDecodeStream. If jbig2dec is given, JBIG2 streams will be
decompressed with it. Otherwise, they are left alone.
val decode_from_input : Pdfio.input -> Pdf.pdfobject -> Pdfio.bytes optionGiven 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.refSetting this changes globally the FlateDecode compression level. Default 6.
val encode_flate : Pdfio.bytes -> Pdfio.bytesEncode data in FlateDecode.
val decode_flate : Pdfio.bytes -> Pdfio.bytesDecode data in FlateDecode.
val encode_ccitt : int -> int -> Pdfio.bytes -> Pdfio.bytesEncode data in CCITTDecode Group 3.
val encode_ccittg4 : ?im:string -> int -> int -> Pdfio.bytes -> Pdfio.bytesEncode data in CCITTDecode Group 4. Presently we do this via imagemagick, given by im.
val debug : bool Stdlib.refSetting this boolean prints some debug information.