March 4th, 2010
We’ve just released the latest version of our PDF Command Line Tools for Windows, Mac and Linux. The tools provide editing of PDF files including merging, splitting, adding text, compressing, encrypting etc.
New Features:
- Detect missing fonts and low resolution images for pre flight
- Remove embedded fonts for file compression
- Add text diagonally, and optionally relative to cropbox rather than media box
- Copes with malformed PDF files more robustly
- Many speed improvements, especially with large files
A new version of the CamlPDF libraries to reflect the changes with be released soon.
Full details and free trial here.
Posted in Uncategorized | No Comments »
February 9th, 2010
Our new PDF Editor for the mac is out - get it here.
- Merge, split and rearrange files
- Edit and manage bookmarks
- Scale, rotate and crop pages
- Add text, page numbers and dates and stamp watermarks
- Edit document metadata
- Manage PDF Attachments
Technical note: Written in OCaml and Objective C with Cocoa.
Thanks to all the beta testers - your license codes will be sent out shortly.
Tags: Ocaml
Posted in Uncategorized | 1 Comment »
January 6th, 2010
We’re well into the first testing cycle for Proview now. We’re using MacDeveloper, which automates the process somewhat, and has a group of about 8000 people signed up for testing, giving them discounts or free copies of the software when they’ve submitted enough acceptable bug reports to the ticketing system.
MacDeveloper runs with its own ticketing system, but the data can be exported to CSV. Haven’t worked out how to get it into bugzilla yet, though.
I’m happy with how few crash/freeze bugs have been reported, and the complaints about the interface seem to crystallize around a couple of issues - so we’ll re-jig it before the next release.
Here and here are a couple of articles on contemporary beta testing.
Tags: beta, proview
Posted in Uncategorized | No Comments »
October 15th, 2009
After some unexpectedly intricate work involving encryption, we’re almost ready for the closed Beta Test of our new PDF editor for OS X, written in OCaml.

Anyone wishing to join the test should email us via the form on the front page at http://www.coherentpdf.com/
Tags: Ocaml
Posted in Uncategorized | No Comments »
July 21st, 2009
I’m beginning a closed beta test of our new PDF Editor for Mac OS X - see posts below for details.
If you’d like to be included, please use the contact form on our front page, giving if possible a short explanation of the kinds of things you might do with such a product. Feel free to pass on this invitation to friends who might be interested.
Tags: Ocaml
Posted in Uncategorized | No Comments »
June 4th, 2009
Not very mac-like or slick yet, but the core functionality is almost there. The architecture for error handling and progress-bars between Cocoa and Ocaml is now complete.

Launch sometime later this year.
Tags: Ocaml
Posted in Uncategorized | No Comments »
April 21st, 2009
Here’s a screenshot of an early version of our next product, a PDF editor for Mac OS X:

The architecture is:
- A plain C wrapper around the higher-level interface to the CamlPDF library (the same interface used by our command line tools)
- An Objective-C cocoa program using call-backs to Ocaml through the wrapper library
- Callbacks from Ocaml into C to deal with error reporting and progress-bar updates.
- CamlPDF is used for all the PDF modification. OS X Pdfkit is used for displaying the PDF and thumbnails in the document window.
The C wrapper will also be used to release a plain C version of our PDF tools to go with the .NET and command line versions, but not until the bugs are ironed out by using the same code to write the OS X product.
It ought to be possible to produce a Windows version of the product using the .NET version of CamlPDF at some point in the future.
Tags: Ocaml
Posted in Uncategorized | No Comments »
March 27th, 2009
Alan Murta’s General Polygon Clipper is the standard way of finding the intersection, union etc. of polygons.
I wrote an Ocaml interface for this many years ago for a dead project, but I’ve only just got around to packaging it up for release. You can get it here.
Tags: Ocaml
Posted in Uncategorized | 2 Comments »
March 3rd, 2009
I’ve just completed a PDF version of the Graphics module from the standard OCaml distribution, based on CamlPDF and following the conventions of Pierre Weis’ Postscript version GraphPS.
The implementation is mostly straightforward, but there are are some complications - some shapes (arcs etc.) need to be approximated from bezier curves sections, since they don’t exist as primitives in PDF (Oddly, circles and arcs are primitive in PostScript).
In common with GraphPS, it doesn’t yet support the bitmapped image parts of the Graphics module, though that would be easy to add.
Here’s a particularly luridly coloured example (source PDF here):

GraphPDF will ship with the next release of CamlPDF.
What might be nice for the future would be a single module shipping with OCaml which can be used as the ordinary graphics module would be, and then dump the result to PDF when required.
We’d need to extend the graphics module with the ability to optionally keep a list of all commands executed thus far, but that’s about all. Getting the PDF output into Ocaml would require some license work on CamlPDF, though, so won’t happen yet.
Tags: Ocaml
Posted in Uncategorized | No Comments »
January 20th, 2009
CamlPDF Version 0.4 has been released.
The biggest change is that this release now compiles with Microsoft F Sharp as well as with OCaml.
Some major non-compatible changes have been made to the low-level API, due to the experience of building large software with the library. These should be the last such changes, at least to the basic modules.
One of the changes is that many functions which used to take a Pdf.pdfdoc and return another one now modify the document in-place. This is rather un-idiomatic for a functional library, but threading all the documents through complicated functions in code using CamlPDF became wearying.
There are several new modules:
- PDFSpace (Parsing Colourspaces)
- PDFText module extended for more encodings and better text extraction
- Cff module (Parse Type 1 fonts and convert to Type 3)
- PDFMarks (Bookmark handling - unfinished)
- PDFAnnot (PDF Annotations - unfinished)
- PDFGraphics (Structured graphics - unfinished - included only because Cff uses it
This release is about a third faster in general than the last one, due to profiling under .NET. Many bug fixes are included, and extra facilities for dealing with malformed PDF files.
CamlPDF is in commercial use in our Command Line PDF Toolkit and PDF Toolkit for .NET.
Tags: Ocaml
Posted in Uncategorized | No Comments »