HTML to PDF converter for Java and .NET


PD4ML v4.x Web site
PD4ML v4.x examples repository


Generate dynamically PDF reports, invoices, statements and other documents on the fly from HTML data.

PD4ML is a powerful PDF generating tool that 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.

PD4ML is simple yet powerful. It's designed so you can get up to speed and productive in a few minutes.

The main use scenarios for PD4ML:

  • HTML to PDF transformation with a standalone converting Java tool Pd4Cmd
  • 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 Lotus Notes™/Domino™ environment using PD4ML-enabled Lotus Java agent.

The Usage Examples is the best place to start if you are new to PD4ML.

Key features of PD4ML:

PD4ML key features overview:

  • Convert an URL or HTML string to a PDF file or byte stream.
  • 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
  • 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
  • Override hardcoded document style with additional CSS style sheets
  • Provide basic support for PDF forms
  • Support of vector SVG graphics
  • HTML-to-Image conversions
  • HTML-to-RTF conversions
  • PDF manupulation API: documents merge, meta-data updates, deletion of selected pages, document securing, document info read (number of pages, creation date, author etc)


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.

fully functional trial

Dec 15, 21
PD4ML Java 3.11.5 maintenance build implements enableLigatures() API method and fixes few minor bugs

Nov 30, 20
PD4ML Java v4.0.9fx3 is released and available for download.

News archive...
Copyright ©2004-24 zefer|org. All rights reserved. Bookmark and Share