• Stars
    star
    200
  • Rank 195,325 (Top 4 %)
  • Language
    OCaml
  • License
    Other
  • Created over 11 years ago
  • Updated 4 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

OCaml library for reading, writing and modifying PDF files

CamlPDF

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

License

Copyright Coherent Graphics Ltd 2007 - 2023. 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.6". 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.

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. Useful texts are the author's book:

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/

Acknowledgments

The file 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/

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

The file rijndael-alg-fst.c was written by Vincent Rijmen, Antoon Bosselaers and Paulo Barreto.

The file sha2.c was written by Olivier Gay.

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

http://mmottl.github.io/ocaml-makefile/

More Repositories

1

cpdf-source

PDF Command Line Tools Source
OCaml
222
star
2

ocamli

OCaml interpreter
OCaml
99
star
3

ppx_blob

OCaml ppx to include binary data from a file as a string
OCaml
77
star
4

more-ocaml-exercises

Examples and Exercises for the book "More OCaml"
OCaml
60
star
5

mlbook

OCaml from the Very Beginning
HTML
50
star
6

ocaml-from-very-beginning-exercises

Examples and exercises for the OCaml Book "OCaml from the Very Beginning"
OCaml
34
star
7

python-from-the-very-beginning-examples-and-exercises

Examples and exercises for the book "Python from the Very Beginning"
Python
28
star
8

cpdfsqueeze

Lossless PDF squeezer
OCaml
22
star
9

ocaml-main-program-in-c

Example build system for making mixed C/Ocaml binaries where the main program is in C
Shell
16
star
10

cpdflib-source

C
9
star
11

haskell-from-the-very-beginning-exercises

Exercises for the book "Haskell from the Very Beginning"
Haskell
8
star
12

graphicspdf

Version of OCaml's Graphics module which outputs PDF.
OCaml
7
star
13

exn-source

Exception backtrace for OCaml with source code printing
Prolog
5
star
14

ocaml-nursery

Examples for OCaml libraries, prior to upstreaming
OCaml
4
star
15

what-ocaml-compiles

What OCaml compiles when it compiles
3
star
16

coherence-renderer

coherence-renderer
OCaml
3
star
17

roman

Roman numerals for OCaml
OCaml
3
star
18

cpdflin

qpdf-based linearizer for use with cpdf
Shell
3
star
19

more-ocaml

Support code for the book "More OCaml"
OCaml
2
star
20

camlgpc

OCaml interface to Alan Murta's General Polygon Clipper
C
2
star
21

tppx_showtype

Example typed PPX
OCaml
2
star
22

rfork

Automatic decorators for OCaml types
OCaml
1
star
23

tppx_test

Testing the documentation for tppx in Tast_mapper
OCaml
1
star
24

5443

Mantis Bug 5443 Experiments
OCaml
1
star