Features

Available features of PDF Clown.

What is PDF Clown intended for?

PDF Clown is a software library; its intended audience is therefore primarily software developers. Nonetheless, future efforts may result in GUI-based utilities for performing common tasks (e.g. PDF files merging/splitting) accessible to casual users too.

On the base of its capabilities, PDF Clown can be classified as follows:

  • PDF generator: PDF Clown can create new PDF files
  • PDF reader: PDF Clown can access existing PDF files
  • PDF editor: PDF Clown can manipulate existing PDF files
  • PDF rasterizer: PDF Clown has recently introduced an experimental prototype for content rendering and printing that will be progressively expanded in the next releases

PDF Clown is NOT a:

  • PDF viewer: PDF Clown may introduce in the next releases a viewer leveraging the new rasterization functionality, but currently there's no such a component.
  • XSL-FO processor: PDF Clown is intended to support flow formatting in a way that should ensure semantic compatibility with XSL-FO processors. In any case, PDF Clown would never be itself an XSL-FO processor.

Main features

This is a short list highlighting major functionalities supported by PDF Clown. If you are interested in a detailed representation encompassing also pending implementations, see Status.

FeatureDescription
ImagesPDF Clown supports these formats:
FontsPDF Clown supports these formats:
  • non-embedded Type 1, Standard
  • embedded OpenType/TrueType, simple (single-byte encoding)
  • embedded OpenType/TrueType, composite (multi-byte encoding - Unicode)
Color spacesPDF Clown supports these formats:
BarcodesPDF Clown supports these types:
Page formatsPDF Clown supports these formats:
  • ISO (A, B, C) series
  • ANSI series
  • Architectural series
  • Traditional north-american sizes (Letter, Legal, Executive, Statement, Tabloid)
Bookmarks (a.k.a. Outline)PDF Clown allows you to create, read and modify bookmarks.
AcroformsPDF Clown allows you to create, read and modify Acroform fields.
PDF Clown supports these field types:
  • check box
  • combo box
  • list box
  • push button
  • radio button
  • text field
AnnotationsPDF Clown allows you to create, read and modify annotations.
PDF Clown supports these types:
  • file attachment
  • line
  • link
  • note
  • text markup
  • video
ActionsPDF Clown allows you to create, read and modify actions.
PDF Clown supports these types:
  • Acroform actions
  • application launcher
  • go-to (embedded, local, remote) actions
  • JavaScript
  • page transition
Serialization modePDF Clown supports these modes:
  • Standard (compact) serialization
  • Incremental update

Furthermore, PDF Clown supports these cross-reference information modes (orthogonal to the above-mentioned modes):

  • Cross-reference table: classic serialization
  • Cross-reference stream: compact serialization (PDF 1.5+)
I/O methodsPDF Clown allows you to read/write PDF files from/to:
  • primary storage (memory buffers)
  • secondary storage (disk files)
CompressionPDF Clown supports these formats:
EditingPDF Clown allows you to:
  • rearrange existing content:
    • merge multiple PDF files or subsets of them (groups of pages)
    • split PDF files into individual pages or groups of pages, based on page indexes or maximum file size
    • insert/append individual pages or groups of pages to a PDF file
    • import individual pages or groups of pages from other PDF files
    • place existing pages into others as "thumbnails"
  • add new content:
    • watermark (background stamping)
    • stamp (foreground stamping)
  • modify existing content:
    • content stream fully object-oriented access to each single content object
    • content stream graphics state scanning
  • access PDF low-level object model:
    • fully object-oriented access to each single primitive object, in accordance with the official PDF specification
Content reusePDF Clown brings you a wealth of devices for reusing existing content:
  • powerful import semantics (contextual cloning): PDF Clown can elegantly import any content from one PDF file into another at any abstraction level (from the single primitive PDF object to the complex high-level page, at your will)
  • indirect objects: reusable generic objects
  • external objects (xobjects): reusable content objects
Text extraction and highlightingPDF Clown supports advanced text extraction functionalities such as full graphic state of extracted text (font, font size, text color, text rendering mode, text position...), text filtering by area, text grouping, sorting, searching and highlighting through markup annotations.
Optional/Layered contentPDF Clown supports content grouping into switchable layers.
Content rasterization (rendering and printing)PDF Clown currently features a pre-alpha (i.e. prototype-level) functionality for rendering pages into images and printing them; it will be progressively expanded in the next releases.