Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
OCaml library for reading, writing and modifying PDF files
OCaml C Other
Branch: master
Failed to load latest commit information.
examples
utop Fixed up utop makefile
Changes more
LICENSE Spelling
META Fixed version number in META
Makefile
OCamlMakefile Working on providing a Utop top level
README.md
flatestubs.c uint_32
introduction_to_camlpdf.pdf Removed pdfsqueeze
introduction_to_camlpdf.tex Removed pdfsqueeze
logo.pdf Removed pdfsqueeze
miniz.c
mkinstall Added script to make & install for debug use
pdf.ml Fixed bytes_of_input
pdf.mli
pdfafm.ml Tidying
pdfafm.mli Commenting for release
pdfafmdata.ml
pdfafmdata.mli Initial import
pdfannot.ml Tidying
pdfannot.mli Initial import
pdfcff.ml Initial import
pdfcff.mli Initial import
pdfcodec.ml Tidying
pdfcodec.mli Compressing strings for inclusion in binaries
pdfcrypt.ml
pdfcrypt.mli
pdfcryptprimitives.ml
pdfcryptprimitives.mli
pdfdate.ml Initial import
pdfdate.mli Initial import
pdfdest.ml Tidying
pdfdest.mli Initial import
pdfflate.ml Fixes based on new warnings in OCaml 4
pdfflate.mli Commenting for release
pdffun.ml Initial import
pdffun.mli Initial import
pdfgenlex.ml Reformatting
pdfgenlex.mli Initial import
pdfglyphlist.ml Initial import
pdfglyphlist.mli Initial import
pdfgraphics.ml
pdfgraphics.mli Initial import
pdfimage.ml Fixes based on new warnings in OCaml 4
pdfimage.mli Initial import
pdfio.ml Removed printf
pdfio.mli Faster 'getstream'
pdfjpeg.ml Initial import
pdfjpeg.mli
pdfmarks.ml Initial import
pdfmarks.mli Initial import
pdfmerge.ml Pdfmerge rotations gone
pdfmerge.mli Pdfmerge rotations gone
pdfocg.ml
pdfocg.mli Initial import
pdfops.ml
pdfops.mli
pdfpage.ml Typo in error message
pdfpage.mli Excised linearizated writing. Much rejoicing.
pdfpagelabels.ml
pdfpagelabels.mli Bug fixes to page label representation
pdfpaper.ml
pdfpaper.mli
pdfread.ml Made Pdf.ToGet opaque in preparation for decryption-on-demand
pdfread.mli More -revision support
pdfshapes.ml
pdfshapes.mli Initial import
pdfspace.ml
pdfspace.mli Initial import
pdfstandard14.ml
pdfstandard14.mli Spelling corrections
pdftext.ml
pdftext.mli Initial import
pdftransform.ml Initial import
pdftransform.mli
pdftruetype.ml
pdftruetype.mli Initial import
pdftype0.ml Initial import
pdftype0.mli Initial import
pdftype1.ml Initial import
pdftype1.mli
pdfunits.ml
pdfunits.mli Initial import
pdfutil.ml
pdfutil.mli Added split6
pdfwrite.ml more
pdfwrite.mli
rijndael-alg-fst.c
rijndael-alg-fst.h
sha2.c Added beginnings of C SHA support
sha2.h Added beginnings of C SHA support
stubs-aes.c
stubs-sha2.c SHA now provided by C primitives for speed

README.md

CamlPDF

CamlPDF is an OCaml library for reading, writing and modifying PDF files. It is the basis of the commercial "CPDF" command line tool, which is available at http://www.coherentpdf.com/.

License

Copyright Coherent Graphics Ltd 2007 - 2013. Released under the LGPL with special linking exception. See "LICENCE" for details.

To Build

If downloading from Github, obtain the correct source. This means choosing the tag for a particaular version, such as "v2.1.1". 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.

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.

The file introduction-to-camlpdf.pdf will help the beginner.

Some level of knowledge of the PDF file format itself, which is large, may be required. The standard texts are the author's book:

http://shop.oreilly.com/product/0636920021483.do

and the ISO standard for PDF:

http://www.adobe.com/devnet/pdf/pdf_reference.html

Acknowledgments

The file miniz.c is a (very slightly modified) version of the miniz.c zlib implementation by Rich Geldreich, avalable here:

http://code.google.com/p/miniz/

The files flatestubs.c, pdfflate.ml and 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

OCamlMakefile was written by Markus Mottl. It is available here:

http://bitbucket.org/mmottl/ocaml-makefile

These works are also released under the LGPL with special linking exception, as described in LICENCE.

Something went wrong with that request. Please try again.