1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74
|
CamlPDF
=======
CamlPDF is an OCaml library for reading, writing and modifying PDF files. It is
the basis of the "CPDF" command line tool and C/C++/Java/Python/.NET/JavaScript
API, which is available at [http://www.coherentpdf.com/](http://www.coherentpdf.com/).
License
---
Copyright Coherent Graphics Ltd 2007 - 2026. Released under the LGPL with
special linking exception. See "LICENSE" for details.
To Build
---
If downloading from Github, obtain the correct source. This means choosing the
tag for a particular version, such as "v2.9". The head of the master branch is
unstable.
1. Run "make". This will build camlpdf.a, camlpdf.cma, camlpdf.cmxa and the
documentation (in doc/camlpdf/html).
2. If your environment has "ocamlfind", "make install" will install the
library. Otherwise, use the built outputs as you will.
Alternatively, you can install the latest version with
```
opam install camlpdf
```
Documentation
---
The API documentation, which is built by the makefile in doc/camlpdf/html, can
also be accessed online at
[http://www.coherentpdf.com/camlpdf](http://www.coherentpdf.com/camlpdf).
The file [introduction_to_camlpdf.pdf](introduction_to_camlpdf.pdf) will help
the beginner.
Some level of knowledge of the PDF file format itself, which is large, may be
required. Useful texts are the author's book:
[http://shop.oreilly.com/product/0636920021483.do](http://shop.oreilly.com/product/0636920021483.do)
and the ISO standard for PDF:
[https://www.pdfa-inc.org/product/iso-32000-2-pdf-2-0-bundle-sponsored-access/](https://www.pdfa-inc.org/product/iso-32000-2-pdf-2-0-bundle-sponsored-access/)
Acknowledgments
---
The file [miniz.c](miniz.c) is a (very slightly modified) version of the
miniz.c zlib implementation by Rich Geldreich, available here:
[http://code.google.com/p/miniz/](http://code.google.com/p/miniz/)
The files [flatestubs.c](flatestubs.c), [pdfflate.ml](pdfflate.ml) and
[pdfflate.mli](pdfflate.mli) are a slightly modified version of some parts of
CamlZip by Xavier Leroy. The originals are available here:
[http://pauillac.inria.fr/~xleroy/software.html](http://pauillac.inria.fr/~xleroy/software.html)
The file [rijndael-alg-fst.c](rijndael-alg-fst.c) was written by Vincent
Rijmen, Antoon Bosselaers and Paulo Barreto.
The file [sha2.c](sha2.c) was written by Olivier Gay.
[OCamlMakefile](OCamlMakefile) was written by Markus Mottl. It is available
here:
[http://mmottl.github.io/ocaml-makefile/](http://mmottl.github.io/ocaml-makefile/)
|