# PDF QFT — third-party notices

PDF QFT is a modified distribution of
[BentoPDF](https://github.com/alam00000/bentopdf). BentoPDF and its contributors
retain copyright in their contributions. PDF QFT modifications are
Copyright (C) 2026 renphysics and are distributed under **AGPL-3.0-only**.
The unchanged [LICENSE](https://github.com/renphysics/pdf.qft.org/blob/qft-site/LICENSE)
contains the complete application license.

The modifications first recorded on **2026-10-29** add PDF QFT branding,
a simplified interface, GitHub Pages deployment, and exclusion of the
LibreOffice engine and its dependent tools. Source code and build instructions:
[renphysics/pdf.qft.org](https://github.com/renphysics/pdf.qft.org).

This is an independent deployment. Upstream names identify the origins of the
software and do not imply that those projects operate or endorse PDF QFT.

## Retained license texts

The build publishes legal files under `/licenses/`, with an `index.json` manifest
recording file origins, package versions, and checksums. Copies from dependency
packages are preserved without altering their license text. Where a package
ships its license information only in a README, the manifest identifies the
excerpt as such.

This document is an attribution and source-location guide. Component license
texts and copyright notices govern the respective components; the application's
AGPL notice does not replace them.

## Vendored viewer and rendering engine

The `bentopdf-viewer` and `bentopdf-pdfium` archives were built by upstream from
[BentoPDF PDFium Viewer, revision 051abe5b72a9219e6b86e1f890fa7d4aca0e8f49](https://github.com/alam00000/bentopdf-pdfium-viewer/tree/051abe5b72a9219e6b86e1f890fa7d4aca0e8f49).
That repository provides the engine/viewer source, build instructions, and
references to its PDFium sources.

The viewer fork is distributed under AGPL-3.0 and incorporates **EmbedPDF** code,
Copyright 2025 **CloudPDF**, under the MIT License. It also includes HarfBuzz
under its Old MIT license. The original MIT metadata retained in some packaged
files does not replace the fork's AGPL license or its component notices.

The following files are retained alongside the vendor archives:

- [`vendor/bentopdf-viewer/NOTICE`](vendor/bentopdf-viewer/NOTICE)
- [`vendor/bentopdf-viewer/LICENSE.embedpdf-mit`](vendor/bentopdf-viewer/LICENSE.embedpdf-mit)
- [`vendor/bentopdf-viewer/LICENSE.harfbuzz`](vendor/bentopdf-viewer/LICENSE.harfbuzz)

These are exact copies from the pinned viewer source. Their URLs and checksums
are recorded in [`vendor/NOTICE-SOURCES.json`](vendor/NOTICE-SOURCES.json).
PDFium and its own dependencies retain their individual licenses in the
corresponding source tree.

## Hyper Compress

`hyper-compress-wasm` version **1.0.3** is distributed under **AGPL-3.0-only**.
Its package includes the full AGPL text. Source and build instructions are in
[BentoPDF Hyper Compress, version 1.0.3](https://github.com/alam00000/bentopdf-hyper-compress/tree/148f20f3f4cd11035fdd53dd1c20fb5a5d21cf3b).

The original component notice is retained at
[`vendor/hyper-compress-wasm/NOTICE.md`](vendor/hyper-compress-wasm/NOTICE.md).
It identifies PDFium and its dependencies, Brotli, jpegli/libjxl, Highway,
Leptonica, jbig2enc, AFDKO, and other components in the upstream distribution.
Their individual licenses remain applicable.

## qpdf and JPEG support

The `@neslinesli93/qpdf-wasm` version **0.3.0** wrapper declares the ISC license.
Its [pinned build recipe](https://github.com/neslinesli93/qpdf-wasm/blob/e661db2d17e391a9fbe6b350b4ea6dbd8c385891/Dockerfile)
compiles **qpdf 12.2.0**, **libjpeg-turbo**, and **zlib**. The compiled components
retain their own terms; the wrapper's package metadata does not replace them.

Exact upstream copies of qpdf's Apache license and copyright notice, the
libjpeg-turbo license and IJG README, and zlib's README containing its license
are retained under `vendor/licenses/qpdf/`. Source revisions and checksums are
recorded in `vendor/NOTICE-SOURCES.json`.

**This software is based in part on the work of the Independent JPEG Group.**

## PDF.js, fonts, and image codecs

Retain the license files distributed with the two PDF.js viewers and their
assets:

- `public/pdfjs-annotation-viewer/LICENSE` — Apache License 2.0.
- `public/pdfjs-viewer/cmaps/LICENSE` and
  `public/pdfjs-annotation-viewer/web/cmaps/LICENSE` — character-map notices.
- `LICENSE_FOXIT` and `LICENSE_LIBERATION` in each viewer's `standard_fonts/`
  directory — font copyright and license notices, including SIL OFL 1.1.
- `public/pdfjs-viewer/iccs/LICENSE` — color-profile notices.
- The `LICENSE_*` files in `public/pdfjs-viewer/wasm/` — OpenJPEG, QCMS, and
  PDF.js integration notices.

The `@fontsource/*` fonts, Phosphor icons, Lucide icons, and other npm packages
retain their own license texts, collected from the installed packages during
the build. This fork does not rename or modify third-party font programs.

Supplemental notices for packages whose published archives omit a standalone
license are retained under `vendor/licenses/`, with source provenance and package
versions in `vendor/NOTICE-SOURCES.json`.

## Additional runtime engines

Some tools obtain their WebAssembly modules from external CDNs. These engines
retain their own licenses and source-distribution requirements:

| Component   | License  | Project/source                                                    |
| ----------- | -------- | ----------------------------------------------------------------- |
| PyMuPDF     | AGPL-3.0 | [PyMuPDF](https://github.com/pymupdf/PyMuPDF)                     |
| Ghostscript | AGPL-3.0 | [GhostPDL](https://github.com/ArtifexSoftware/ghostpdl)           |
| CoherentPDF | AGPL-3.0 | [CoherentPDF](https://github.com/coherentgraphics/coherentpdf.js) |

The configured module URLs and dependency lockfile identify the versions used
by a particular build. Changing the host of a module does not change its license.
Tesseract.js, qpdf, pdf-lib, PDFKit, image codecs, and the remaining dependencies
also retain their respective licenses; see the generated notice manifest and
the package source locations it records.

The LibreOffice runtime and its dependent tools are excluded from PDF QFT's
GitHub Pages deployment. Existing upstream source and acknowledgments remain
available in this repository.

## Redistribution

Keep the relevant copyright, license, and attribution notices when copying or
modifying this application. A deployment of a modified version must provide
access to its corresponding source under the AGPL. Include the build scripts,
configuration, and dependency information needed for that version.

This software is provided without warranty, subject to the terms of its
applicable licenses. The license governs the software; processing an ordinary
user document does not by itself require publishing that document.
