This is a (mostly) CSS2.1 compliant HTML layout and rendering engine written in PHP.
It is a style-driven renderer: it will download and read external stylesheets, inline style tags, and the style attributes of individual HTML elements. It also supports most presentational HTML attributes.
PDF rendering is currently provided either by PDFLib or by a bundled version the R&OS CPDF class written by Wayne Munro. In order to use PDFLib with dompdf, the PDFLib PECL extension is required.
Using PDFLib improves performance and reduces the memory requirements of dompdf somewhat, while the R&OS CPDF class, though slightly slower, eliminates any dependencies on external PDF libraries.
dompdf was entered in the Zend PHP 5 Contest and placed 20th overall.
dompdf works only with PHP 5. There are no plans for a PHP 4 port.
Here are some key features of "DOMPDF":
· Handles most CSS2.1 properties & selectors, including @import, @media & @page rules
· Supports most presentational HTML 4.0 attributes
· Supports external stylesheets, either on the local machine or through http/ftp (via fopen-wrappers)
· Supports complex tables, including row & column spans, separate & collapsed border models,
· Individual cell styling, multi-page tables (no nested tables yet however)
· Image support (png, gif & jpeg)
· No dependencies on external PDF libraries, thanks to the R&OS PDF class
· Link and anchor support
· Inline PHP support. See the section on inline PHP for details.
· Tables can not be reliably nested (though some have reported success)
· Ordered lists are currently unsupported.
· Absolute & relative positioning and floats do not work,yet.
· Not particularly tolerant to poorly-formed HTML or CSS input (using Tidy first may help)
· Large files can take a while to render
· Large tables require large amounts of memory. Setting PHP's memory limit to at least 32MB or higher is recommended.
· PHP 5 or higher