Licences

pdfpix is built out of open-source libraries and sends their code to your browser to do the work. Most use permissive licences. Two of them are copyleft, and each one belongs to a single route: the HEIC decoder is LGPL, and the Print preflight plate renderer is GPL. The list below names each library, what it does here, and where to read its licence or exact source.

Every library pdfpix sends to your browser
LibraryWhat it does hereLicenceRead it
pdf.js What it does hereReads and renders PDFs. It is also what checks every result. LicenceApache-2.0 Read itFull text
@cantoo/pdf-lib What it does hereWrites PDFs. LicenceMIT Read itFull text
@jsquash/jpeg What it does hereRuns the JPEG encoder in the browser. LicenceApache-2.0 Read itFull text
mozjpeg, libjpeg-turbo What it does hereThe JPEG encoder itself. LicenceThree BSD-style licences, IJG included Read itFull text
harfbuzzjs What it does hereCuts embedded fonts down to the glyphs a document draws. LicenceMIT Read itFull text
OpenJPEG What it does hereDecodes JPEG 2000 images inside pdf.js. LicenceBSD-2-Clause Read itFull text
JBIG2, from PDFium What it does hereDecodes JBIG2 images inside pdf.js. LicenceBSD, The PDFium Authors Read itFull text
qcms What it does hereApplies ICC colour profiles inside pdf.js. LicenceMIT, Mozilla Read itFull text
UTIF.js What it does hereDecodes standard and multi-page TIFF files. LicenceMIT Read itFull text
pako What it does hereInflates compressed TIFF image data for UTIF.js. LicenceMIT and Zlib Read itFull text
@discourse/heic What it does hereLoads the HEIC decoder only on the HEIC to PDF route. LicenceApache-2.0 Read itFull text
libheif 1.19.7 What it does hereReads the HEIC container inside the route-scoped WebAssembly decoder. LicenceLGPL-3.0-or-later Read itExact source
libde265 1.0.15 What it does hereDecodes the HEVC image inside the route-scoped WebAssembly decoder. LicenceLGPL-3.0-or-later Read itExact source
Poppler 26.02.0 What it does hereRenders separation plates for Print preflight. Only that route is given its address, and it runs in a worker of its own. LicenceGPL-2.0-or-later Read itFull text
OpenJPEG 2.5.3 What it does hereDecodes JPEG 2000 images inside that same Print preflight worker. LicenceBSD-2-Clause Read itFull text

Licence boundaries

Two well-known PDF engines, MuPDF and Ghostscript, are AGPL v3. Running either one behind a web service obliges the operator to publish the whole service under the same terms. pdfpix uses neither.

The two copyleft components pdfpix does ship stay inside one route each. The HEIC decoder is fetched only after a HEIC or HEIF photo is chosen. The Print preflight plate renderer, which is Poppler and OpenJPEG compiled to WebAssembly, is addressed only from the Print preflight page and runs in a separate worker. No other tool imports or links either one.

Both use the released upstream code with no changes. The Print preflight build can be repeated from published sources: the source record names the exact Poppler and OpenJPEG archives with their SHA-256 sums, the Emscripten image by digest, and the adapter and build script that produced the WebAssembly.

Where to go next