compressor | ||
docsplits | ||
html_manual | ||
manualimages | ||
old | ||
.gitignore | ||
Changes | ||
cpdf.1 | ||
cpdf.install | ||
cpdf.opam | ||
cpdfaddtext.ml | ||
cpdfaddtext.mli | ||
cpdfannot.ml | ||
cpdfannot.mli | ||
cpdfattach.ml | ||
cpdfattach.mli | ||
cpdfbookmarks.ml | ||
cpdfbookmarks.mli | ||
cpdfchop.ml | ||
cpdfchop.mli | ||
cpdfcolours.ml | ||
cpdfcolours.mli | ||
cpdfcommand.ml | ||
cpdfcommand.mli | ||
cpdfcommandrun.ml | ||
cpdfcomposition.ml | ||
cpdfcomposition.mli | ||
cpdfcoord.ml | ||
cpdfcoord.mli | ||
cpdfcreate.ml | ||
cpdfcreate.mli | ||
cpdfdebug.ml | ||
cpdfdebug.mli | ||
cpdfdraft.ml | ||
cpdfdraft.mli | ||
cpdfdraw.ml | ||
cpdfdraw.mli | ||
cpdfdrawcontrol.ml | ||
cpdfdrawcontrol.mli | ||
cpdfembed.ml | ||
cpdfembed.mli | ||
cpdferror.ml | ||
cpdferror.mli | ||
cpdfextracttext.ml | ||
cpdfextracttext.mli | ||
cpdffont.ml | ||
cpdffont.mli | ||
cpdfimage.ml | ||
cpdfimage.mli | ||
cpdfimpose.ml | ||
cpdfimpose.mli | ||
cpdfjpeg2000.ml | ||
cpdfjpeg2000.mli | ||
cpdfjpeg.ml | ||
cpdfjpeg.mli | ||
cpdfjson.ml | ||
cpdfjson.mli | ||
cpdfmanual.pdf | ||
cpdfmanual.tex | ||
cpdfmetadata.ml | ||
cpdfmetadata.mli | ||
cpdfocg.ml | ||
cpdfocg.mli | ||
cpdfpad.ml | ||
cpdfpad.mli | ||
cpdfpage.ml | ||
cpdfpage.mli | ||
cpdfpagelabels.ml | ||
cpdfpagelabels.mli | ||
cpdfpagespec.ml | ||
cpdfpagespec.mli | ||
cpdfpng.ml | ||
cpdfpng.mli | ||
cpdfposition.ml | ||
cpdfposition.mli | ||
cpdfpresent.ml | ||
cpdfpresent.mli | ||
cpdfprinttree.ml | ||
cpdfprinttree.mli | ||
cpdfremovetext.ml | ||
cpdfremovetext.mli | ||
cpdfshape.ml | ||
cpdfshape.mli | ||
cpdfspot.ml | ||
cpdfspot.mli | ||
cpdfsqueeze.ml | ||
cpdfsqueeze.mli | ||
cpdfstrftime.ml | ||
cpdfstrftime.mli | ||
cpdftexttopdf.ml | ||
cpdftexttopdf.mli | ||
cpdftoc.ml | ||
cpdftoc.mli | ||
cpdftruetype.ml | ||
cpdftruetype.mli | ||
cpdftweak.ml | ||
cpdftweak.mli | ||
cpdftype.ml | ||
cpdftype.mli | ||
cpdfua.ml | ||
cpdfua.mli | ||
cpdfunicodedata.ml | ||
cpdfunicodedata.mli | ||
cpdfunicodedata.source.ml | ||
cpdfxmlm.ml | ||
cpdfxmlm.mli | ||
cpdfxobject.ml | ||
cpdfxobject.mli | ||
cpdfyojson.ml | ||
cpdfyojson.mli | ||
hello.pdf | ||
LICENSE.md | ||
logo.pdf | ||
Makefile | ||
META | ||
mkinstall | ||
OCamlMakefile | ||
README.md |
Coherent PDF Command Line Tools
CPDF is distributed under the AGPL - see LICENSE.md. If you are unable to abide by the terms of the AGPL, you will need a commercial license.
For commercial licenses, email contact@coherentgraphics.co.uk or visit https://www.coherentpdf.com/
Copyright Coherent Graphics Ltd 2024.
This code builds two things:
a) The CPDF PDF command line tool for editing PDF files.
b) cpdf as an OCaml library, for which documentation is here:
Prerequisites to build
The OCaml compiler
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:
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.7.2". The head of the master branch is unstable.
-
Type
make
to make the cpdf executable and the library -
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
Python API
A Python interface to cpdf is available:
https://pypi.org/project/pycpdflib
Java API
A Java interface to cpdf is available:
https://github.com/coherentgraphics/jcpdf
.NET API
A .NET interface to cpdf is available:
https://github.com/coherentgraphics/dotnet-libcpdf
JavaScript API
A JavaScript version of cpdf, for server and client side is available:
Distribution: https://www.npmjs.com/package/coherentpdf
Source: https://github.com/coherentgraphics/coherentpdf.js
Acknowledgments
The file cpdfxmlm.ml was written by Daniel Bünzli.
The file cpdfyojson.ml was written by Martin Jambon and others.
The error descriptions for -verify "PDF/UA-1(matterhorn)" come from the PDF Association, and are licensed under the Creative Commons Attribution 4.0 International license.
PDF/UA support in Cpdf was implemented under NLnet grant 2023-12-031.