Coherent PDF Command Line Tools 2.1

CPDF 2.1 is now out, with some new features and work under the hood to improve encryption and speed on large files

  • Encryption now much, much faster
  • Faster parsing of delayed object streams on large files
  • -decompress now leaves object streams decompressed
  • Select pages by landscape-ness or portrait-ness in a page range
  • New -open-at-page and -open-at-page-fit option to set the open action
  • New -recrypt option to re-encrypt output
  • Reads XMP metadata and outputs it on -info
  • New -center position for text
  • -stamp can now use positions, just like stamping text
  • Better handling of permissions for files with user passwords
  • Linearization excised
  • Can encrypt or recrypt output of -split and -split-bookmarks now
  • -args replaces -control with better behaviour
  • Can scale a stamp to fit before stamping with -scale-stamp-to-fit

Licenses from $319. Customers without current support contracts may upgrade for $189.

Full details on our home page.

Posted in Uncategorized | Comments Off on Coherent PDF Command Line Tools 2.1

Community Release of PDF Command Line Tools

The cpdf tool has been available commercially since 2007, and is widely used in industry and government. The same technology is used in the Proview PDF Editor for the mac.

Now we’re releasing it for free, under a special not-for-commercial-use license.

Binaries for Windows, Mac and Linux, OCaml source code, and full documentation are all available here.

The Coherent PDF Command Line Tools allow you to manipulate existing PDF files in a variety of ways. For example:

  • Merge PDF files together, or split them apart
  • Encrypt and decrypt
  • Scale, crop and rotate pages
  • Read and set document info and metadata
  • Copy, add or remove bookmarks
  • Stamp logos, text, dates, page numbers
  • Add or remove attachments


Posted in Uncategorized | Tagged , , | Comments Off on Community Release of PDF Command Line Tools

CamlGPC: An interface to Alan Murta’s GPC Polygon Clipper

Some of our coherence 2D graphics renderer examples used to rely on being able to robustly intersect and union polygons.

For this, we used an interface to the General Polygon Clipper, which is a fast C library for such operations. Unfortunately, it’s only free for non-commercial use. And so, to use our OCaml interface in commercial applications, you need to obtain a license from the University of Manchester.

Our interface is up at github.

The easiest way to install is through OPAM:

opam install camlgpc

Posted in Uncategorized | Tagged , , , | Comments Off on CamlGPC: An interface to Alan Murta’s GPC Polygon Clipper

GraphicsPDF: A version of Ocaml’s Graphics module which outputs PDF

I’ve been packaging up some little pieces of previously-released software as OPAM packages, hoping that will make them more widely used.

GraphicsPDF is just like Graphics, but it outputs a PDF file of the commands, instead of displaying them on screen.

The development repository is at github

The easiest way to install is through OPAM:

opam install graphicspdf

It was originally described in this blog post some years ago.

Posted in Uncategorized | Tagged , , | Comments Off on GraphicsPDF: A version of Ocaml’s Graphics module which outputs PDF

CamlPDF 1.7

The first new release of the CamlPDF library for a while is here:

(Or, shortly, via OPAM.)

The documentation is online here:

A little introduction is here:

Most importantly, CamlPDF is now open source, being under a standard LGPL with linking exception licence.

This release is much cleaner: development has moved to Github for transparency, ocamlfind is supported, and it should compile out-of-the-box with no dependencies on Windows, Mac and Linux. Documentation is much improved.

And, of course, there’s lots of new functionality, such as 256 bit AES encryption, reading of malformed files, support for writing with object streams, and new modules for merging files, bookmarks, destinations. It’s also very much faster.

There have, however, been significant non-backward-compatible API changes. These will be minimized in the future. Contact me directly or via the Github issue system if you need help updating code from a previous version.

Posted in Uncategorized | Tagged , | Comments Off on CamlPDF 1.7

PDF Command Line Tools 1.7 Upgrade now Available

CPDF Command Line Tools 1.7 is now available. This is a major release with many enhancements:

  • Much faster (between 1.5 and 5 times)
  • AES 256 decryption and encryption (PDF 1.7 and PDF 2.0)
  • Object streams for smaller PDF files
  • Better reconstruction of malformed files
  • UTF8 output and input options for many commands, including UTF8 text for stamping
  • Justified multiline text
  • Over 500 fixes and small enhancements

Customers with valid support contracts or who are otherwise entitled to a free upgrade should contact Coherent Graphics giving their preferred platform (Windows, Mac Intel, 32 bit Linux/x86, 64 bit Linux/x86).

Customers without a valid support contract can purchase the upgrade for $149, 110 euro, or 99 pounds. Again, please contact Coherent Graphics to upgrade.

You can find the new manual here:

You can find demonstration versions here:

(Please remember that demo versions are slower, since they need to stamp each page, in addition to the usual operation).

Posted in Uncategorized | Tagged , | Comments Off on PDF Command Line Tools 1.7 Upgrade now Available

New book: OCaml from the Very Beginning

I’ve written a concise but self-contained introduction to writing computer programs with OCaml, suitable for the talented beginner to programming, or someone trying functional programming or OCaml for the first time.

On your local Amazon:


Sample chapters also at

Thanks to all those who reviewed and proof-read earlier drafts.

Reviews on Amazon are always very useful – my understanding is that if you have an amazon account, you can review the book based on having read the e-book, without buying a printed copy. Do please consider adding a review, especially if you like the book!

Some of the data might not have yet propagated to all Amazon subsidiaries, but it ought to do so over the next few hours or days.

Posted in Uncategorized | Tagged , | Comments Off on New book: OCaml from the Very Beginning

Proview PDF Editor 1.5 Upgrade – What’s New?

Proview 1.5 adds significant new features, whilst improving interactivity; functionality which required dialog boxes is now live and interactive.

  • Adding text is now completely interactive with the new text inspector
  • Merge and reorder pages within and between documents by drag and drop
  • Unicode now supported throughout
  • PDF manipulation almost twice as fast
  • Edit page labels
  • Supports OS X Lion and Snow Leopard
  • Handles malformed files better
  • More that 50 other changes and improvements

Proview 1.5 Available now

Live Text Mode

Text is now added interactively – you can drag the position, and the text updates automatically. New positioning and styling options have been added too.

More screenshots and an introductory video can be found on the upgrade page.

The Text Inspector

The text inspector is used to add text to one or more pages interactively. Dozens of special codes allow dates, times and page numbers to be added automatically.

New diagonal text option, and left, right and center justifications for multi-line text have been added.

The position of the text may now be set by dragging the text directly in the main document window.

Unicode text is now supported for accented and special characters.

Proview 1.5 is available now.

Posted in Uncategorized | Comments Off on Proview PDF Editor 1.5 Upgrade – What’s New?

PDF Explained, now available from O’Reilly

Our new book about PDF has just been published. You can find it at O’Reilly’s own site in printed and ebook form, or from Amazon and other booksellers.

Here’s the publisher’s description:

At last, here’s an approachable introduction to the widely used Portable Document Format. PDFs are everywhere, both online and in printed form, but few people take advantage of the useful features or grasp the nuances of this format. This concise book provides a hands-on tour of the world’s leading page-description language for programmers, power users, and professionals in the search, electronic publishing, and printing industries. Illustrated with lots of examples, this book is the documentation you need to fully understand PDF.

  • Build a simple PDF file from scratch in a text editor
  • Learn the layout and content of a PDF file, as well as the syntax of its objects
  • Examine the logical structure of PDF objects, and learn how pages and their resources are arranged into a document
  • Create vector graphics and raster images in PDF, and deal with transparency, color spaces, and patterns
  • Explore PDF operators for building and showing text strings
  • Get up to speed on bookmarks, metadata, hyperlinks, annotations, and file attachments
  • Learn how encryption and document permissions work in PDF
  • Use the pdftk program to process PDF files from the command line
Posted in Uncategorized | Tagged , , | Comments Off on PDF Explained, now available from O’Reilly

PDF Command Line Tools 1.6

The latest version of our command line tools for processing PDF files has just been released.

New Feature Highlights:

  • Speed improvements on large, complex files
  • Many robustness improvements, deals with more malformed files
  • Detect low resolution images and missing fonts
  • Add text relative to cropbox, add diagonal text
  • Better support for non-ASCII character sets
  • Copy boxes (e.g media box, crop box)
Updates to customers with support contracts will go out in the next week. The new demonstration version is available now from the website.
Posted in Uncategorized | Tagged , , | Leave a comment