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)

Features

Features

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...

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

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

Easy

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.

Powerfull

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

Optimized

  • 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.

i18n

  • 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).

Text

  • 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.

Fonts

  • 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.

Graphics

  • 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.

Security

  • 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.

Misc.

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

Roadmap

pdfInclude will support the following funcionalities 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.
Documentation

Doc

See readme.pdf

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

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

Examples

Examples

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 390€.
  • volume or unlimited licences: contact us.

* 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 started to use pdfInclude in 2008 for a project of mine, and ended being the official maintainer. I created a page on the OEHive, then produced a few maintenance fixes 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.