Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
OCaml library for reading, writing and modifying PDF files
OCaml C Other
branch: master
Failed to load latest commit information.
examples Flags
utop Fixed up utop makefile
Changes more
LICENSE Spelling
META Fixed version number in META
Makefile Better cleaning
OCamlMakefile Working on providing a Utop top level
README.md Warning to pick a tag when downloading from Github
flatestubs.c Initial import
introduction_to_camlpdf.pdf Removed pdfsqueeze
introduction_to_camlpdf.tex Removed pdfsqueeze
logo.pdf Removed pdfsqueeze
miniz.c Initial import
mkinstall Added script to make & install for debug use
pdf.ml Fixed bytes_of_input
pdf.mli Made Pdf.ToGet opaque in preparation for decryption-on-demand
pdfafm.ml Tidying
pdfafm.mli Commenting for release
pdfafmdata.ml Began support for reading header of AFM files
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 Shamix now cached
pdfcrypt.mli Recrypt finished
pdfcryptprimitives.ml Tidying
pdfcryptprimitives.mli Commenting for release
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 Initial import
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 Initial import
pdfmarks.ml Initial import
pdfmarks.mli Initial import
pdfmerge.ml Pdfmerge rotations gone
pdfmerge.mli Pdfmerge rotations gone
pdfocg.ml Initial import
pdfocg.mli Initial import
pdfops.ml Made un-understood malformed page content a proper error
pdfops.mli Initial import
pdfpage.ml Fix to ignore missing Op_BDC /Properties entry when combining pages
pdfpage.mli Excised linearizated writing. Much rejoicing.
pdfpagelabels.ml Tidying
pdfpagelabels.mli Bug fixes to page label representation
pdfpaper.ml Initial import
pdfpaper.mli Initial import
pdfread.ml Made Pdf.ToGet opaque in preparation for decryption-on-demand
pdfread.mli More -revision support
pdfshapes.ml Initial import
pdfshapes.mli Initial import
pdfspace.ml Initial import
pdfspace.mli Initial import
pdfstandard14.ml To allow better standard font descriptions
pdfstandard14.mli Spelling corrections
pdftext.ml Made Pdf.ToGet opaque in preparation for decryption-on-demand
pdftext.mli Initial import
pdftransform.ml Initial import
pdftransform.mli Initial import
pdftruetype.ml Initial import
pdftruetype.mli Initial import
pdftype0.ml Initial import
pdftype0.mli Initial import
pdftype1.ml Initial import
pdftype1.mli Initial import
pdfunits.ml Fixes based on new warnings in OCaml 4
pdfunits.mli Initial import
pdfutil.ml Reformatting
pdfutil.mli Added split6
pdfwrite.ml more
pdfwrite.mli Comments for release
rijndael-alg-fst.c Beginning to use C implementation of AES
rijndael-alg-fst.h Beginning to use C implementation of AES
sha2.c Added beginnings of C SHA support
sha2.h Added beginnings of C SHA support
stubs-aes.c Beginning to use C implementation of AES
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.