The CPDF PDF command line tool for editing PDF files. cpdf as an OCaml library
Go to file
John Whitington e29e7b3038 Fix bug in tjjson 2021-10-05 16:00:10 +01:00
html_manual more 2021-09-27 19:21:15 +01:00
pysplits more 2021-09-26 16:24:19 +01:00
splits splits 2021-06-18 14:19:43 +01:00
.gitignore more 2017-01-12 19:53:46 +00:00
Changes more 2021-10-01 16:59:05 +01:00
LICENSE reference to cpdflib 2021-06-28 18:22:43 +01:00
META more 2021-05-21 17:02:08 +01:00
Makefile Split off a little code 2021-10-02 12:22:59 +01:00
OCamlMakefile Removed dependency on Unix 2013-11-11 16:39:45 +00:00
README.md more 2021-06-28 18:24:31 +01:00
blank.pdf more 2016-11-01 18:12:16 +00:00
blank20.pdf More work on new bookmarks format 2017-11-04 16:24:14 +00:00
blankowneruser.pdf more manual fixes w.r.t recrypt 2014-11-18 14:57:18 +00:00
cpdf.1 cleaning 2021-06-21 15:44:47 +01:00
cpdf.ml CSP code archived 2021-10-02 13:21:06 +01:00
cpdf.mli CSP code archived 2021-10-02 13:21:06 +01:00
cpdfattach.ml Split off a little code 2021-10-02 12:22:59 +01:00
cpdfattach.mli Split off a little code 2021-10-02 12:22:59 +01:00
cpdfcommand.ml option to uncompress json streams 2021-10-04 18:38:36 +01:00
cpdfcommand.mli Beginning html manual 2017-01-10 19:52:57 +00:00
cpdfcommandrun.ml Beginning to work on nobble problem 2014-10-22 11:07:17 +01:00
cpdfcoord.ml more 2019-09-26 13:30:22 +01:00
cpdfcoord.mli cleaning 2021-06-21 15:44:47 +01:00
cpdferror.ml Split off a little code 2021-10-02 12:22:59 +01:00
cpdferror.mli Split off a little code 2021-10-02 12:22:59 +01:00
cpdfjson.ml Fix up /Length 2021-10-05 13:08:46 +01:00
cpdfjson.mli option to uncompress json streams 2021-10-04 18:38:36 +01:00
cpdfmanual.pdf more 2021-09-27 19:48:29 +01:00
cpdfmanual.tex more 2021-09-26 16:24:19 +01:00
cpdfpagespec.ml Splitting page spec into separate module 2021-08-12 20:14:48 +01:00
cpdfpagespec.mli Splitting page spec into separate module 2021-08-12 20:14:48 +01:00
cpdfposition.ml cpdfposition 2021-08-12 20:38:55 +01:00
cpdfposition.mli cpdfposition 2021-08-12 20:38:55 +01:00
cpdfstream.ml Vendor in streams for tjjson 2021-09-30 19:55:52 +01:00
cpdfstream.mli Vendor in streams for tjjson 2021-09-30 19:55:52 +01:00
cpdfstrftime.ml stderr unbuffered 2021-07-23 16:26:07 +01:00
cpdfstrftime.mli stderr unbuffered 2021-07-23 16:26:07 +01:00
hello.pdf Decompress now non-lazy. Otherwise, deferred decryption fails due to 2017-01-04 17:52:14 +00:00
logo.pdf Fixed building of cpdfmanual.tex by adding logo.pdf 2013-08-29 12:12:36 +01:00
mkinstall install script 2021-06-20 16:27:46 +01:00
mktext Text width fixed 2016-11-04 15:57:28 +00:00
mktext.ml more 2016-11-01 18:12:16 +00:00
splitwrapper splits 2021-06-18 14:19:43 +01:00
tjjson.ml Fix bug in tjjson 2021-10-05 16:00:10 +01:00
tjjson.mli Vendored in JSON library, other updates to begin v2.4 2020-01-24 16:20:40 +08:00
tjllist.ml Vendor in streams for tjjson 2021-09-30 19:55:52 +01:00
tjllist.mli Vendor in streams for tjjson 2021-09-30 19:55:52 +01:00
tjparsermonad.ml lowercase 2021-10-01 22:05:43 +01:00
tjparsermonad.mli lowercase 2021-10-01 22:05:43 +01:00
tjutf16.ml Vendored in JSON library, other updates to begin v2.4 2020-01-24 16:20:40 +08:00
tjutf16.mli Vendored in JSON library, other updates to begin v2.4 2020-01-24 16:20:40 +08:00
tjutil.ml cleaning 2021-06-21 15:44:47 +01:00
tjutil.mli Vendored in JSON library, other updates to begin v2.4 2020-01-24 16:20:40 +08:00
xmlm.ml -safe-string 2018-07-30 13:58:25 +01:00
xmlm.mli Vendored in JSON library, other updates to begin v2.4 2020-01-24 16:20:40 +08:00

README.md

cpdf-source

Free for non-commercial use. See LICENSE for details. Copyright Coherent Graphics Ltd 2021.

This code builds two things:

a) The CPDF PDF Command Line Tools, which are a popular commercial command line tool for editing PDF files.

b) cpdf as an OCaml library.

Prerequisites to build

The OCaml compiler

http://ocaml.org

The camlpdf library

http://github.com/johnwhitington/camlpdf

The ocamlfind library manager

http://projects.camlcity.org/projects/findlib.html

If you are using the OPAM package manager:

http://opam.ocamlpro.com

these can be installed by:

opam install camlpdf

To build

If downloading from Github, obtain the correct source. This means choosing the tag for a particular version, such as "v2.4". The head of the master branch is unstable.

  1. Type make to make the cpdf executable and the library

  2. Type make install to install the OCaml cpdf library.

The cpdf executable should be manually placed somewhere suitable.

Alternatively, the library and command-line binary can be installed by

opam install cpdf

Documentation

The file cpdfmanual.pdf in this folder is the documentation for the command line tools. The documentation for the cpdf OCaml library is in doc/html/cpdf/ in this folder once the library has been built.

C API

A C interface to cpdf is available, in source and binary form:

https://github.com/johnwhitington/cpdflib-source

https://github.com/coherentgraphics/cpdflib-binary

Contact

contact@coherentgraphics.co.uk