Repository navigation
v1.0.0 - first stable release
First stable release of phppdf - a modern, pure-PHP 8.4 PDF generation library with no runtime dependencies beyond mbstring, openssl, and zlib.
The public API is now frozen under semantic versioning: breaking changes are reserved for a future major version.
Highlights
- Documents - standard and custom page sizes, multi-page, metadata, RC4 40/128-bit + AES-128 encryption, viewer preferences. Millimetres or PDF points.
- Graphics & text - lines, rects, circles, paths, transforms, the 12 standard fonts, and custom TrueType/OpenType fonts with automatic glyph subsetting (TTF + CFF). Cells with borders, alignment, wrap, and fit modes.
- Images - JPEG and PNG (incl. alpha) with per-document embed caching.
- SVG - shapes, paths (arcs included), gradients (linear/radial, per-stop alpha, spread methods), patterns, symbols/markers, clipPath, luminance masks,
<style>CSS, embedded raster images, and selectable<text>. - Barcodes - 1D (EAN-13/8, Code 128, UPC-A, Code 39/93, ITF) with orientation and module-driven auto-width, and the four 2D families: QR, Aztec, DataMatrix, PDF417 (auto UTF-8 ECI). Plus standalone SVG export for the 2D matrix formats.
- Navigation & forms - bookmarks, hyperlinks, full interactive forms (text/checkbox/radio/combo/listbox/buttons), JavaScript actions, and real PKCS#7/CMS digital signatures via
Document::sign().
Quality
- PHPStan at level max, zero suppressions.
- Byte-identity golden tests with paired
qpdf --check. - Barcodes cross-validated against zxing-cpp and libdmtx; SVG validated by rendering with pdfium.
composer require dragonofmercy/phppdfSee CHANGELOG.md for the full list.