PDF Clown

Welcome, this is the PDF Clown home page.

In This Section


PDF Clown logoLGPL 3 license logoPDF Clown is a free/libre open source implementation of the Portable Document Format (PDF) specification published by Adobe® Systems Inc., written as a class library in multiple languages (Java™ 6 and C#/.NET 4.0).

Java version represents the reference implementation of PDF Clown.

C# version was developed upon the Mono flavour of the .NET framework, which allows it to run over multiple platforms (BSD and UNIX variants, including OS X and Solaris, and Microsoft® Windows®). As such code adheres to the related ECMA spec, it may also be run upon other .NET implementations, including MS'.

This project is proud to be hosted on SourceForge.net.

DownloadDownload PDF Clown!


  • Do you need specific customizations to fit PDF Clown into your business processes?
  • Are there not-yet-developed standard features you'd like to prioritize?
  • Would you like a dedicated online training to receive timely and effective answers to your questions about the use of PDF Clown and the PDF spec, including custom step-by-step tutorials and samples written according to your own needs?

I'm available to smoothly integrate the library with your software solutions and to help you exploit PDF Clown at its best; if you are interested, please look at my contact page.


PDF Clown is brought to you with a great deal of freedom and no fees.

If you liked PDF Clown and found it was beneficial to your activity, please consider making a donation via PayPal to demonstrate your appreciation and willing to support its next developments. The amount to donate is up to your choice. Thank you!


  • February 10, 2013: PDF Clown 0.1.2 is released
    This release enhances several base structures, providing fully automated object change tracking and object cloning (allowing, for example, to copy page annotations and Acroform fields). It adds support to video embedding, article threads, page labels and several other functionalities. See the announcement.
  • December 16, 2012: PDF Clown on Twitter
    Today @PDFClown has started tweeting! Follow us to receive fresh news about its development.
  • November 14, 2011: PDF Clown 0.1.1 is released
    This release adds support to optional/layered contents, text highlighting, metadata streams (XMP), Type1/CFF font files, along with primitive object model and AcroForm fields filling enhancements. Lots of minor improvements have been applied too. Last but not least: ICSharpCode.SharpZipLib.dll dependency has been removed from .NET implementation. See the announcement.
  • March 4, 2011: PDF Clown 0.1.0 Alpha is released
    This release introduces support to cross-reference-stream-based PDF files (as defined since PDF 1.5 spec) along with page rendering and printing: a specialized tool provides a convenient way to convert PDF pages into images (aka rasterization). Lots of minor improvements have been applied too. Last but not least: the project's base namespace has been changed to org.pdfclown. See the announcement.
  • August 21, 2010: PDF Clown 0.0.8 is released
    This release is focused on text extraction support: a specialized tool provides, along with plain-text extraction, advanced functionalities such as full graphic state of extracted text (font, font size, text color, text rendering mode, text position...), text filtering by page area, text grouping and sorting. Lots of minor improvements have been applied too. See the announcement.
  • January 2, 2010: PDF Clown's Blog is online!
    I hope you'll appreciate the new PDF Clown's Blog: it's meant to be a friendly place to meet PDF Clown's users, informing them about its development, suggesting tips & tricks and receiving their comments. Enjoy!
  • January 2, 2009: PDF Clown 0.0.7 is released
    This release expands the support to interactive features: actions (e.g. go-to actions, javascripts, transitions...) annotations (e.g. file attachments, links, notes, widgets...), acroforms, page-level navigation (transitions), improved document-level navigation (destinations), file specifications... Path drawing model has been implemented, along with enhanced content scanning. See the announcement.
  • May 1, 2008: PDF Clown 0.0.6 is released
    This release is focused upon Unicode support, at both content-stream level (i.e. page text) and document level (i.e. metadata text); it particularly implies explicit encoding support by font objects and reimplementation of the string object model to ensure a robust treatment of encoding matters. Other relevant enhancements involve content composition (enriched by the introduction of barcode support, paragraph-level horizontal alignment, etc.) and page management (facilitated by the introduction of a specialized tool). See the announcement.
  • February 13, 2008: PDF Clown 0.0.6 will support Unicode (composite fonts)
    Unicode support is going to be a major enhancement to the library, allowing access to extended character sets (although currently limited to horizontal left-to-right writing systems).
  • December 12, 2007: PDF Clown 0.0.5 is released
    This release is focused upon consolidating and simplifying the functionalities introduced in the previous release. Particularly, content reuse and composition have been further improved -- for example: page conversion into reusable forms, automation of boiler-plate activities such as resources management, a new ready-to-use tool for easy content stamping and watermarking... See the announcement.
  • September 15, 2007: PDF Clown 0.0.4 is released
    This release introduces the 2nd (and final) level of the content stream model (graphics object level [PDF:1.6:4.1], i.e. operations aggregation within corresponding compound objects like text, path, shading etc.), which allows fully object-oriented access to the graphics contents on pages. See the announcement.
  • August 17, 2007: PDF Clown 0.0.4 coming soon.
    The development of the current iteration was completed at the end of July; current work involves updating existing samples and documentation. This iteration is focused upon content stream modelling, in order to dramatically improve the accessibility of the graphics contents (text, paths, images...). See the announcement.
  • May 16, 2007: PDF Clown 0.0.3 is released
    This release introduces comprehensive font management (OpenType/TrueType and Standard Type 1 font collection) and positional typesetting facilities. See the announcement.
  • January 5, 2007: PDF Clown 0.0.3 will support TrueType fonts
    Next release (0.0.3) of PDF Clown, currently under development, will bring you embedded TrueType fonts support along with a set of typographic features to ensure accurate-and-easy text placement.
  • December 19, 2006: PDF Clown 0.0.2 is released
    I'm so glad to announce the release of PDF Clown 0.0.2, featuring content stream parsing and editing, stream filtering (zlib/deflate), enhanced page handling and the usual pervasive improvement of the overall codebase. Last but not least: new Project User Guide contents.
  • December 6, 2006: PDF Clown 0.0.2 enters debugging stage
    PDF Clown 0.0.2, currently on debugging, will bring new features such as filtering (transparent stream encoding/decoding), content stream parsing and building. See the announcement.
  • November 21, 2006: PDF Clown 0.0.1 is released
    I'm so glad to announce the release of PDF Clown 0.0.1, featuring for the first time the new Java 1.5 version (PDF Jester), along with the enhanced C# 2.0 version.
  • October 12, 2006: Java version (codename: PDF Jester) enters debugging stage
    PDF Jester is the Java-1.5 equivalent of PDF Clown for .NET: both of them will be developed in parallel, featuring the same functionalities, within the abstract PDF Clown. At this time, after three weeks of by-night (!) implementation, PDF Jester has just entered its debugging stage, waiting for being released (hopefully in a few weeks...). See the announcement.