pdfInclude 5.1

Create pdf files directly from ABL in Progress OpenEdge

Simple, easy to use, configurable, customizable.
Compatible (Unix, Windows, 32 or 64 bits, from OE 10.0)



pdfInclude allows you not only to create pdf files from scratch, but also have powerfull tools to make it easy: fill a pdf form, use an existing pdf as a template, generate a table...

Scroll on the right to discover the features offered by pdfInclude

Pure ABL

  • Everything done using pure ABL (almost1 ;)
  • No external library required (except zlib for compression and OpenSSL for encryption2).
  • One of the few quality frameworks for OpenEdge ABL.

1 pdfInclude uses zlib for compression, the OS math lib for the sinus and cosinus functions (only if you need the rotate APIs), and for encryption, OpenSSL for OE versions missing SHA-256, SHA-512 and SHA-384. By the way why do PSC offer SHA-256 & 512 but not 384?
2 The external libraries for MS Windows are provided, both for 32 and 64 bits.


  • Compatible with all OE versions, starting at 10.0, 32 bits and 64 bits.
  • Compatible with all Operating Systems Open Edge can run on.


Using the advanced features, like PDF forms or the available tools to create easily tables, you can create PDF files in no time.

Using the basic text functions, you can "print" a text file as PDF, creating as many pages as necessary, and handling automatically the header and the footer.


pdfInclude also gives you full control of the design of your documents, using any PDF low level APIs.


  • pdfInclude generates the smaller pdf files possible. You can use compression (requires zlib) in order to further reduce the size of the files.
  • When embedding a font, pdfInclude can build a subset of the characters which have been used, reducing dramatically the size of the pdf file.
  • pdfInclude is developped with performance in mind, allowing you to get the most out of the AVM.
  • pdfInclude makes use of persistent caches for fonts, pdf and images parsing.


  • pdfInclude supports UTF-8 text, and provided you load a font containing the glyphs, can display any character.
  • Remapping of characters is possible.
  • Almost any paper size is supported (A0 to A4, A5, B5, Letter, Legal, Ledger, and custom sizes).


  • pdfInclude supports rotating, scaling and skewing text, writing text using htmlish tags (incl. colour, bold, italic, underline, strike, hyperlinks and links local to the document)
  • Text can be centered, left or right aligned.
  • pdfInclude takes care of inserting page breaks automatically & can also split automatically a large paragraph into lines.
  • pdfInclude can create bookmarks (to show a table of contents) and internal hyperlinks.
  • pdfInclude can provide automatic generation of headers/footers or let you define yours.


  • pdfInclude supports the PDF base 14 fonts (Courier, Helvetica, Times, Symbol, ZapfDingbats)
  • pdfInclude can load any TrueType font. It parses the TTF font itself and can build a subset of the characters which have been used.


  • pdfInclude has graphic (geometric) primitives to draw lines, circles, eclipses, Bézier curves. It can dash the lines and choose their ends (square, rounded).
  • pdfInclude supports JPEG, PNG, GIF and BMP pictures. Transparency is supported for PNG and GIF.

PDF forms / templates

  • pdfInclude can open any existing PDF file. It can compress and/or encrypt it.
  • It can use a PDF form (AcroForm) in order to fill it (fill-ins, checkboxes, radio buttons, combos, lists).
  • The font, font size, colour, etc. defined in the fields will be respected.


  • pdfInclude can encrypt your pdf files using RC4-40 (obsolete, only Windows 32 bits), RC4-128 and AES-128. AES-256 encryption (aka PDF 2.0) will be supported in the next version.
  • The next version will also allow you to digitally sign your pdf documents.


pdfInclude has the following additional functionalities:

  • annotations (links, notes, stamps, mark-ups)
  • tools to create tables, calendars, matrices
  • define patterns (xobjects) and reuse them many times
  • transaction mecanism, with rollback (undo)
  • text rendering modes (fill, stroke and clipping)
  • automatic page numbering


pdfInclude functionnality can be extended using plugins:

  • Barcodes 1D (Code 39, Code 128, Code 93, EAN 13, EAN 8, EAN 13+5, EAN 13+2, Interleaved 2 of 5, PDF-417)
  • Barcodes 2D (Datamatrix, QR Code)
  • Digital signature (using a certificate)
  • html2pdf (print any html onto your pdf files)
  • Factur-X / ZuGFERD: Franco-German electronic invoicing hybrid pdf/xml format


pdfInclude v6.0 is currently under development. Meanwhile, v5.1 is in maintenance mode.

pdfInclude will support the following functionalities in the next versions:

  • AES-256 encryption (aka PDF 2.0)
  • Digital signature
  • bar codes: code 39, code 128, code 93, EAN 13, EAN 8, EAN 5, EAN 2, interleaved 2 of 5 (ITF25), pdf417, etc.
  • HTML rendering
  • XMP Metadata
  • PDF/A support
  • Embed files (with or without annotation) into a pdf document (i.e. attachments)


See readme.pdf

This pdf file has been generated by pdfInclude itself*, thus giving a good demo of its capabilities.

Last updated: Decembre the 28th, 2022

* for the more curious: readme.txt & readme.p



work in progress...

Order pdfInclude

Contact us to see what pdfInclude can do for you! Our licences are priced very reasonably.


Available licences*:

  • in-house development or to deploy at one customer: only 649€ + maintenance (20%).
  • SaaS, volume or unlimited licences: please contact us.

Current version: 5.1.26 - April the 4th, 2023

New! pdfInclude plugins

  • Barcodes 1D (Code 39, Code 128, Code 93, EAN 13, EAN 8, EAN 13+5, EAN 13+2, Interleaved 2 of 5, PDF-417): 490€
  • Barcodes 2D (Datamatrix, QR Code): 590€
  • Digital signature (using a certificate): 590€
  • html2pdf (print any html onto your pdf files): 990€
  • Factur-X / ZUGFeRD (contact us)

Our other products

  • Class to easily generate ODS (Libreoffice/Openoffice) spreadsheet files
  • Class to easily generate and validate the xml attached to the pdf file in Factur-X/ZUGFeRD

Contact us for availability

20% for support and maintenance must be added to all the above prices.

* The licences allow for any number of developpers.

About pdfInclude

pdfInclude was born in 2002 and was developped as open source. Maintenance stopped at version 3.3 in 2006.

I (JC Cardot) started to use pdfInclude in 2008 for a project of mine, and ended up being the official maintainer. I created a page on the OEHive (now archived), in order to share a few maintenance fixes I had done on the 3.3 version.

Finally I became bewitched by pdfInclude and rewrote a great deal of it, including the pdf parser (do not use the one from the 3.3 version, it is very bad) and implementing a great deal of new features.

Currently as CTO of Snowwolf-software I continue to develop pdfInclude and tools revolving around the generation of documents from a Progress OpenEdge environment.

(c) 2024 Snowwolf-Software, Edited by Frédérique Delhomme - SIREN 433304086 - DUNS 264612113 - 78 Allée Primavera - Centre UBIDOCA 16632 - PRINGY - 74370 ANNECY - FRANCE - All rights reserved