PDF Plugin

PDF Plugin for 4D is a plugin for the 4th Dimension programming language that allows you to generate files in Adobe’s Portable Document Format (PDF). The plugin has an extensive command set for programmatically creating text, graphics, images and hypertext objects. There is no need for any third party software like Acrobat Distiller or PDF Writer. As a developer all you need to do is retrieve the data and format the layout while the plugin takes care of generating the PDF code that represents your data. You are not troubled with all the internals and intricacies of the PDF document format.

The primary focus of the plugin is on dynamically generating PDF documents within your own software. This can have many applications, i.e.

  • Creating invoices or proposals for a web-based application.
  • Creating a product catalog for electronic and printed publishing.
  • Creating reports from your database, complete with hyperlinks.
  • Creating complex graphical representations of your data.
  • Creating database publishing solutions.

With the optional PDF import module, you can create applications like:

  • Import an existing PDF document and overlay it with dynamic data.
  • Merge multiple documents into a single document.
  • Place advertisements in existing documents.
  • Impose multiple pages on a single sheet for printing.

PDF Plugin offers some advantages in comparison to other solutions:

  • It can be integrated directly in your own application.
  • No need for third party software.
  • PDF documents can be generated in memory without being written to disk, which makes it perfect for web based applications.
  • It is extremely fast, thread safe and offers robust memory and error handling.

The plugin is based on proven technology. It uses the very powerful PDFlib as its engine. PDFlib is a cross platform C library that is being developed by PDFlib GmbH in Germany. It has implementations for many programming languages and is available for a wide variety of platforms.

New features of version 4.0

  • Table formatting:
    A new table formatter has been added. Each cell can contain single-line text, multi-line text, images or PDF pages. The table can be formatted using a variety of options such as headers, footers, border and background colors, even/odd row coloring, column and row spans, cell rotation, margins etc. Large tables can be split across multiple pages.
  • Textflow enhancements:
    Links and other interactive elements can be created from a text fragment in a text. Text can be wrapped around an image. Support for decimal tabs, leaders and stamps.
  • Unicode support:
    Many internal changes have been made to make the plugin more Unicode aware and to prepare it for future versions of 4D which will provide native support for Unicode. Currently unicode characters can be used by using character references, similar to how they are used in HTML.
  • Matchboxes:
    All text and image formatting functions can be used to create matchboxes. The coordinates of these matchboxes can then be queried to add for example hyperlinks, annotatiions or other kinds of sdecorations.
  • PCOS interface:
    The PCOS interface allows you to query arbitrary properties of an existing PDF document via a simple path syntax. This can be used to list fonts, images, and color spaces; query page- or document related properties, PDF/A or PDF/X status, document info fields or XMP metadata, and many more.
  • PDF import:
    When importing pages from a PDF document, the plugin can attempt to repair damaged PDFs. It will also remove redundant data when importing from multiple documents (such as embedded font data).
  • PDF/A for archiving:
    Support for creating PDF/A compatible output has been added. PDF/A specifies a standardized subset of PDF for longterm preservation and archiving of PDF documents.
  • PDF Personalization Server:
    Multiple textflow blocks can be linked so that one block holds the overflow text of a previous block.
  • Interactive elements and 3D animations:
    3D animations in the U3D format can be embedded in the PDF output, controlled by a variety of options. Actions can be defined to interact with 3D animations.
  • AES encryption:
    PDF Plugin supports 128-bit encryption with the AES algorithm (Advanced Encryption Standard) as supported by Acrobat 7. AES encryption is considered much more secure than earlier crypto schemes.
  • Spot colors:
    The set of supported Pantone spot colors has been updated to the latest 2006 editions provided by Pantone, Inc., including the new Pantone color bridge and new colors in the metallic and pastel color libraries.
  • Image handling:
    Support for clipping paths in TIFF and JPEG images.
  • XMP metadata:
    Automatic creation of XMP metadata for document info fields. XMP metadata can be added to pages, fonts, images, importes pages, templates, ICC profiles etc.
  • Tagged PDF:
    Support for creating Tagged PDF has been extended: links and other interactive elements can now be included in the document structure tree.
  • Error handling
    The error handling mechanism has been improved to distinct between warnings and errors.
  • Updated documentation:
    The documentation has been updated significantly with more background information and examples.
  • Universal Binary support
    PDF Plugin is now available as a Universal Binary, meaning it is ready to run on both Intel and PowerPC Macs.

A more detailed list of the new features can be found in the documentation.

Complete list of features:

  • PDF output
    • Create PDF documents of arbitrary length, directly in memory (for Web servers) or on disk file.
    • Suspend/resume and insert page features to create pages out of order.
  • PDF flavors
    • Support for PDF 1.3 through 1.7 (Acrobat 4 – 8), Tagged PDF, PDF/A, PDF/X.
    • Linearized (web-optimized) PDF for byte-serving over the Web.
  • PDF input
    • Import pages from existing PDF documents (requires PDI or PPS module).
    • PCOS interface for querying details about imported PDF documents.
    • Delete redundant objects (e.g. identical fonts) across multiple imported PDF documents.
    • Workarounds for malformed PDF input.
  • Blocks
    • PDF personalization with PDFlib blocks for text, image, and PDF data (only PPS).
    • PDFlib Block plugin for creating PDFlib blocks interactively in Adobe Acrobat.
    • Textflow blocks can be linked so that one block holds the overflow text of a previous block.
    • List of Pantone and HKS spot color names integrated in the Block plugin.
  • Graphics
    • Common vector graphics primitives: lines, curves, arcs, rectangles, etc.
    • Smooth shadings (color blends), pattern fills and strokes.
    • Transparency (opacity) and blend modes (gradients).
    • Layers: optional page content which can selectively be displayed; annotations can be placed on layers.
    • Layers can be locked.
  • Fonts
    • TrueType (TTF and TTC) and PostScript Type 1 fonts (PFB and PFA, plus LWFN on the Mac).
    • OpenType fonts (TTF, OTF) with PostScript or TrueType outlines.
    • AFM and PFM PostScript font metrics files.
    • Directly use fonts which are installed on the Windows or Mac host system.
    • Font embedding for all font types; subsetting for Type 31, TrueType and OpenType fonts.
    • Userdefined (Type 3) fonts for bitmap fonts or custom logos.
  • Text output
    • Text output in different fonts; underlined, overlined, and strikeout text.
    • Glyphs in a font can be addressed by numerical value, Unicode value, or glyph name.
    • Kerning for improved character spacing.
    • Artificial bold and italic font style.
    • Proportional widths for standard CJK fonts.
    • Direct glyph selection for advanced typography.
    • Configurable replacement of missing glyphs.
  • Internationalization
    • Unicode strings for page content and interactive elements.
    • Standard CJK fonts and CMaps for Chinese, Japanese, and Korean text.
    • Custom CJK fonts in the TrueType and OpenType formats.
    • Embed Unicode information in PDF for correct text extraction in Acrobat.
  • Images
    • Embed BMP, GIF, PNG, TIFF, JPEG, JPEG2000, and CCITT raster images.
    • Automatic detection of image file formats (file format sniffing).
    • Interpret clipping paths in TIFF and JPEG images.
    • Transparent (masked) images including soft masks.
    • Image masks (transparent images with a color applied).
    • Colorize images with a spot color.
  • Color
    • Support for grayscale, RGB, CMYK, CIE L*a*b* color spaces.
    • Integrated support for PANTONE® colors (2006 edition1) and HKS® colors; userdefined spot colors.
  • Color management
    • ICC-based color with ICC color profiles: honor embedded profiles in images, or apply external profiles to images.
    • Rendering intent for text, graphics, and raster images.
    • Default gray, RGB, and CMYK color spaces to remap device-dependent colors.
  • Prepress
    • Generate output conforming to PDF/X-1a, PDF/X-2, and PDF/X-3, including 2003 flavors.
    • Embed output intent ICC profile or reference standard output intent.
    • Copy output intent from imported PDF documents (requires PDI or PPS module).
    • Create OPI 1.3 and OPI 2.0 information for imported images.
    • Separation information (PlateColor).
    • Settings for text knockout, overprinting etc.
  • Archiving
    • Generate output conforming to PDF/A-1a:2005 and PDF/A-1b:20051.
  • Formatting
    • Textflow: format arbitrary amounts of text into one or more rectangular areas with hyphenation, font and color changes, justification methods, tabs, leaders, control commands; wrap text around images.
    • Flexible image placement and formatting.
    • Table formatter places rows and columns and automatically calculates their sizes according to a variety of user preferences. Tables can be split across multiple pages.
    • Table cells can hold single- or multi-line text, images, or PDF pages, and can be formatted with ruling and shading options.
    • Flexible stamping function.
    • Matchbox concept for referencing the coordinates of placed images or other objects.
  • Security
    • Encrypt PDF output with RC4 or AES1 encryption algorithms.
    • Specify permission settings (e.g. printing or copying not allowed).
    • Import encrypted documents (master password required; requires PDI or PPS module).
  • Interactive elements
    • Create form fields with all field options and JavaScript.
    • Create actions for bookmarks, annotations, page open/close and other events.
    • Create bookmarks with a variety of options and controls.
    • Page transition effects, such as shades and mosaic.
    • Create all PDF annotation types, such as PDF links, launch links (other document types), web links.
    • Named destinations for links, bookmarks, and document open action.
    • Create page labels (symbolic names for pages).
  • Multimedia
    • Embed 3D animations in U3D format.
  • Tagged PDF
    • Create Tagged PDF and structure information for accessibility, page reflow, and improved content repurposing; links and other annotations can be integrated in the document structure.
    • Easily format large amounts of text for Tagged PDF.
  • Metadata
    • Create XMP metadata from document info fields or from client-supplied XMP streams.
    • Document information: standard fields (Title, Subject, Author, Keywords) and user-defined fields.
    • Virtual file system for supplying data in memory, e.g., images from a database.
  • Supported platforms
  • PDF Plugin is available for the following platforms:
    • Mac OS 9 (requires 4D 6.8 or higher).
    • Mac OS X (both in the .4CX and .bundle plugin formats). Both the PowerPC and Universal Binaries are available.
    • Windows 2000, XP and Vista.
    • 4th Dimension version 6.8 or higher is required.
    • Compatible with 4D v11 SQL

Licensing & Pricing

PDF Plugin has several licensing options. Here is a summary of the different options available:

Development license
The development license is for developers who want to use PDF Plugin for their
solutions. Without the development license the plugin will run in demo mode and will quit after one hour of use. The development license does not include a license of PDFlib. This means that it will print the text “www.pdflib.com” on each page. A development license is required for each developer using the plugin.

Deployment license
For deployment purposes PDF Plugin is licensed on a per system basis. One license covers a single computer running under the selected operating system regardless of the number of CPUs. An individual license key is necessary for every individual system. Deployment licenses do include a license for PDFlib.
The deployment license is available in three variations. A standard version with some optional modules:

  • Standard
    This license includes all functions required to create PDF output containing text, vector graphics and images plys hypertext elements. If offers powerful formatting features for placing single- or multi-line texts, images and creating tables. This license includes all plugin commands, except those listed under PDF import and PDF block filling.
  • Standard + PDF import (PDI)
    This license includes all the standard functions plus the PDF Import commands for including pages from existing PDF documents in the generated output. It also includes the PCOS commands for querying arbitrary PDF objects from an imported document (e.g. list all fonts on a page, query metadata and many more). This license includes all plugin commands, except those listed under PDF block filling.
  • Standard + PDF import + PDF Personalization Server (PDI + PPS)
    This license includes all the standard and PDF import functions plus additional functions for automatically filling PDFlib blocks. Blocks are placeholders on the page which can be filled with text, images or PDF pages. They can be created interactively with the PDFlib BLock Plugin for Adobe Acrobat (Mac or Windows), and will be filled automatically with PPS. The plugin is included in PPS. This license includes all plugin commands mentioned in the documentation.

Licenses must be bought for a particular operating system. In general there is a distinction between Mac and Windows and between desktop and server operating systems:

  • Desktop operating systems
    Windows 2000, Windows XP, Mac OS X
  • Server operating systems
    Windows Server 2000/2003, Mac OS X Server

Please note that desktop licenses are not suitable for server systems.


Development license:

  • € 150 per platform (Mac or Windows).
  • € 250 if licenses for both platforms are bought at once.

Deployment license:

Platform Standard Standard + PDI Standard + PDI + PPS
Mac OS X € 600 € 800 € 1100
Windows 2000 / XP € 600 € 800 € 1100
Mac OS X Server € 1100 € 1800 € 2600
Windows Server 2000 / 2003 € 1100 € 1800 € 2600

Please contact us for volume discounts or other arrangements not covered by our standard offers.

Update prices (from PDF Plugin version 2 or 3 to version 4)

Platform Standard Standard + PDI Standard + PDI + PPS
Mac OS X € 400 € 600 € 800
Windows 2000 / XP € 400 € 600 € 800
Mac OS X Server € 800 € 1200 € 1600
Windows Server 2000 / 2003 € 800 € 1200 € 1600


Version 4.0.4 is now available!
Click on the following links to download a demo version of PDF Plugin for 4D.