Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

OCaml library for reading, writing and modifying PDF files

branch: master
Octocat-spinner-32 examples Don't need bigarray in PACKS, because camlpdf includes it. October 03, 2013
Octocat-spinner-32 Changes Initial import August 14, 2013
Octocat-spinner-32 LICENCE Linking exception fixed March 18, 2014
Octocat-spinner-32 META Fixed version number in META August 19, 2013
Octocat-spinner-32 Makefile Bigarray back in November 22, 2013
Octocat-spinner-32 OCamlMakefile Initial import August 14, 2013
Octocat-spinner-32 README.md Initial import August 14, 2013
Octocat-spinner-32 flatestubs.c Initial import August 14, 2013
Octocat-spinner-32 introduction_to_camlpdf.pdf Initial import August 14, 2013
Octocat-spinner-32 introduction_to_camlpdf.tex Initial import August 14, 2013
Octocat-spinner-32 miniz.c Initial import August 14, 2013
Octocat-spinner-32 pdf.ml Fixes based on new warnings in OCaml 4 October 14, 2013
Octocat-spinner-32 pdf.mli Initial import August 14, 2013
Octocat-spinner-32 pdfafm.ml Fixes based on new warnings in OCaml 4 October 14, 2013
Octocat-spinner-32 pdfafm.mli Initial import August 14, 2013
Octocat-spinner-32 pdfafmdata.ml License fix December 05, 2013
Octocat-spinner-32 pdfafmdata.mli Initial import August 14, 2013
Octocat-spinner-32 pdfannot.ml Initial import August 14, 2013
Octocat-spinner-32 pdfannot.mli Initial import August 14, 2013
Octocat-spinner-32 pdfcff.ml Initial import August 14, 2013
Octocat-spinner-32 pdfcff.mli Initial import August 14, 2013
Octocat-spinner-32 pdfcodec.ml Fixes based on new warnings in OCaml 4 October 14, 2013
Octocat-spinner-32 pdfcodec.mli Initial import August 14, 2013
Octocat-spinner-32 pdfcrypt.ml Fixes based on new warnings in OCaml 4 October 14, 2013
Octocat-spinner-32 pdfcrypt.mli Initial import August 14, 2013
Octocat-spinner-32 pdfdate.ml Initial import August 14, 2013
Octocat-spinner-32 pdfdate.mli Initial import August 14, 2013
Octocat-spinner-32 pdfdest.ml Initial import August 14, 2013
Octocat-spinner-32 pdfdest.mli Initial import August 14, 2013
Octocat-spinner-32 pdfflate.ml Fixes based on new warnings in OCaml 4 October 14, 2013
Octocat-spinner-32 pdfflate.mli Initial import August 14, 2013
Octocat-spinner-32 pdffun.ml Initial import August 14, 2013
Octocat-spinner-32 pdffun.mli Initial import August 14, 2013
Octocat-spinner-32 pdfgenlex.ml Speed improvement in lexing. March 25, 2014
Octocat-spinner-32 pdfgenlex.mli Initial import August 14, 2013
Octocat-spinner-32 pdfglyphlist.ml Initial import August 14, 2013
Octocat-spinner-32 pdfglyphlist.mli Initial import August 14, 2013
Octocat-spinner-32 pdfgraphics.ml Initial import August 14, 2013
Octocat-spinner-32 pdfgraphics.mli Initial import August 14, 2013
Octocat-spinner-32 pdfimage.ml Fixes based on new warnings in OCaml 4 October 14, 2013
Octocat-spinner-32 pdfimage.mli Initial import August 14, 2013
Octocat-spinner-32 pdfio.ml Bigarray back in November 22, 2013
Octocat-spinner-32 pdfio.mli Created Pdfio.setinit_string to speed up Pdfgenlex, sped up Pdfutil.s… August 27, 2013
Octocat-spinner-32 pdfjpeg.ml Initial import August 14, 2013
Octocat-spinner-32 pdfjpeg.mli Initial import August 14, 2013
Octocat-spinner-32 pdfmarks.ml Initial import August 14, 2013
Octocat-spinner-32 pdfmarks.mli Initial import August 14, 2013
Octocat-spinner-32 pdfmerge.ml Initial import August 14, 2013
Octocat-spinner-32 pdfmerge.mli Initial import August 14, 2013
Octocat-spinner-32 pdfocg.ml Initial import August 14, 2013
Octocat-spinner-32 pdfocg.mli Initial import August 14, 2013
Octocat-spinner-32 pdfops.ml Initial import August 14, 2013
Octocat-spinner-32 pdfops.mli Initial import August 14, 2013
Octocat-spinner-32 pdfpage.ml Fix to renaming of inline images August 27, 2013
Octocat-spinner-32 pdfpage.mli Initial import August 14, 2013
Octocat-spinner-32 pdfpagelabels.ml Facility for removing page labels October 23, 2013
Octocat-spinner-32 pdfpagelabels.mli Facility for removing page labels October 23, 2013
Octocat-spinner-32 pdfpaper.ml Initial import August 14, 2013
Octocat-spinner-32 pdfpaper.mli Initial import August 14, 2013
Octocat-spinner-32 pdfread.ml Fix for malformed files which have whitespace after 'stream' keyword March 25, 2014
Octocat-spinner-32 pdfread.mli Initial import August 14, 2013
Octocat-spinner-32 pdfshapes.ml Initial import August 14, 2013
Octocat-spinner-32 pdfshapes.mli Initial import August 14, 2013
Octocat-spinner-32 pdfspace.ml Initial import August 14, 2013
Octocat-spinner-32 pdfspace.mli Initial import August 14, 2013
Octocat-spinner-32 pdfstandard14.ml Initial import August 14, 2013
Octocat-spinner-32 pdfstandard14.mli Initial import August 14, 2013
Octocat-spinner-32 pdftext.ml Initial import August 14, 2013
Octocat-spinner-32 pdftext.mli Initial import August 14, 2013
Octocat-spinner-32 pdftransform.ml Initial import August 14, 2013
Octocat-spinner-32 pdftransform.mli Initial import August 14, 2013
Octocat-spinner-32 pdftruetype.ml Initial import August 14, 2013
Octocat-spinner-32 pdftruetype.mli Initial import August 14, 2013
Octocat-spinner-32 pdftype0.ml Initial import August 14, 2013
Octocat-spinner-32 pdftype0.mli Initial import August 14, 2013
Octocat-spinner-32 pdftype1.ml Initial import August 14, 2013
Octocat-spinner-32 pdftype1.mli Initial import August 14, 2013
Octocat-spinner-32 pdfunits.ml Fixes based on new warnings in OCaml 4 October 14, 2013
Octocat-spinner-32 pdfunits.mli Initial import August 14, 2013
Octocat-spinner-32 pdfutil.ml Fixes based on new warnings in OCaml 4 October 14, 2013
Octocat-spinner-32 pdfutil.mli Initial import August 14, 2013
Octocat-spinner-32 pdfwrite.ml Fixes based on new warnings in OCaml 4 October 14, 2013
Octocat-spinner-32 pdfwrite.mli Initial import August 14, 2013
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

  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.