Generate dynamically PDF reports, invoices, statements and other documents on
the fly from HTML-formatted data
PD4ML is simple yet powerful. It’s designed so you can get up to speed and productive in a few minutes. It uses HTML and CSS (Cascading Style Sheets) as page layout and content definition format. Written in 100% pure Java, it allows users to easily add PDF generation functionality to end products by just an adding of a single JAR file.
The main use scenarios for PD4ML
-
Using PD4ML in Web applications for online PDF generation from HTML, JSP or ColdFusion® templates. In order to get PDF output, all what you need is to surround your JSP or ColdFusion® markup with <pd4ml:transform> tags or refer to the markup from an external PD4ML-enabled JSP or Servlet. With PD4ML PHP wrapper PDF generating functionality can be added to virtually any PHP application.
-
Adding PD4ML to desktop Java applications for reporting or to achieve professional grade print functionality provided by modern PDF viewers, like Adobe® Acrobat Reader®.
-
Automatic PDF generation in IBM Notes®/Domino® environment using PD4ML-enabled Lotus Java agent.
-
HTML to PDF transformation with a standalone command-line converting Java tool Pd4Cmd in virtually any environment, which has Java support
Key features of PD4ML
- Convert an URL or HTML string to a PDF file or byte stream
- PDF/A-1b output support for long term electronic document archiving
- Generate Tagged PDF
- Generate accessible PDF/A-2a and PDF/UA conforms Section 508 requirements
- Support of inline and external CSS stylesheets
- Set PDF page format and orientation
- Control page margins
- Define PDF headers and footers in HTML (including images and page numbers)
- Embed and use True Type and Open Type fonts.
- Support most of Asian, Middle-East, European and Latin character sets
- Generate external and internal hyperlinks
- Control header/footer appearance on selected pages
- Embed media or document attachments to PDF
- Switch PDF encryption on and assign document security restrictions. PD4ML allows you to secure your PDF documents with 40-bit/128-bit encryption. You can disable printing, modifications or extracting of text content, you can lock your PDF with a password.
- Generate PDF bookmarks from named anchors or from <H1>-<H6>
structure - Create PDF bookmark hierarchical structure using proprietary <pd4ml:bookmark> tags
- Generate table of contents based on <H1>-<H6> structure
- Customize page background (color or background image)
- Watermark pages. Specify if the watermark has to be shown by PDF viewers, to be printed, or both.
- Override hardcoded document style with additional CSS style sheets
- Provides support for PDF forms
- Converting of SVG images to vector PDF graphics
using either built-in SVG renderer or a pluggable component, based on Apache Batik - Support of MathML conversion
- HTML/CSS to raster image conversion (BufferedImage, PNG, multipage TIFF)
- HTML-to-RTF conversions
- PDF manupulation API: documents merge, meta-data updates, deletion of
selected pages, document securing/unsecuring, document info read (number of pages,
creation date, author etc) - Supports automatic font kerning in PDF
Currently PD4ML is available as 100% Java library, JSP
custom tag library, Lotus Notes Java agent (includes DXL-to-HTML
XSLT stylesheet), managed code .NET port of the
Java library, a variety of wrappers for scripting languages: Perl,
PHP, Ruby etc.