Licenses
What this is built from
A handful of open-source libraries do the real work. Their license texts are served from this site, not linked to somebody else's copy.
| Library | Version | License |
|---|---|---|
| pdf.js (pdfjs-dist) | 6.2.108 | Apache-2.0 |
| @cantoo/pdf-lib | 2.8.1 | MIT |
| docx | 9.7.1 | MIT |
| jsPDF | 4.2.1 | MIT |
| fflate | 0.8.3 | MIT |
| tesseract.js | 6.0.1 | Apache-2.0 |
| PaddleOCR.js SDK | 0.4.2 | Apache-2.0 |
| PP-OCRv6 and PP-OCRv5 models | PaddleOCR 3.5 | Apache-2.0 |
| ONNX Runtime Web | 1.30.0 | MIT |
| OpenCV.js | 4.10.0 | Apache-2.0 |
| Clipper | 6.4.2 | BSL-1.0 |
| js-yaml | 4.3.2 | MIT |
| transformers.js (@huggingface/transformers) | 4.2.0 | Apache-2.0 |
| GLM-OCR model (onnx-community conversion) | aea46198f09e | MIT |
| GlyphLessFont | tesseract 5 | Apache-2.0 |
| rusty_mp3 | 0.1.1 | Apache-2.0 |
| qrcode-generator | 2.0.4 | MIT |
| JsBarcode (encoders) | 3.12.3 | MIT |
What each one does here
- pdf.js (pdfjs-dist)
- Reads PDFs, renders pages and extracts the text layer.
- @cantoo/pdf-lib
- Creates, combines, compresses and encrypts the PDF files these tools produce.
- docx
- Writes the Word (.docx) files the PDF to Word tool produces.
- jsPDF
- Typesets the PDF the HTML to PDF tool produces.
- fflate
- Compresses and decompresses the ZIP archives the archive tools make and open.
- tesseract.js
- No longer used by any tool: the reader below replaced it in wave 6. Its files remain published until they are removed, so its licence remains here.
- PaddleOCR.js SDK
- Runs the PP-OCR text detector and recogniser in this tab: finds every line in a picture and reads it.
- PP-OCRv6 and PP-OCRv5 models
- The neural networks the reader runs: the PP-OCRv6 tiny detector and recogniser, and the PP-OCRv5 East-Slavic recogniser for Cyrillic.
- ONNX Runtime Web
- Executes the reader's models, on the graphics card through WebGPU where the browser offers one and on one CPU thread where it does not.
- OpenCV.js
- Prepares pictures for the detector and turns its output into line boxes; bundled inside the PaddleOCR.js SDK.
- Clipper
- Grows the detector's line polygons to their true extent; bundled inside the PaddleOCR.js SDK.
- js-yaml
- Reads the models' configuration files; bundled inside the PaddleOCR.js SDK.
- transformers.js (@huggingface/transformers)
- Runs the Deep reader's model, GLM-OCR, in this tab: loads its weights, prepares the picture and generates the answer.
- GLM-OCR model (onnx-community conversion)
- The Deep reader's weights: a 0.9-billion-parameter vision-language model, not served from this site but downloaded from Hugging Face behind the Pro door, pinned to one revision and checked against digests this site carries.
- GlyphLessFont
- The 572-byte font with one blank glyph that carries the invisible text layer of a searchable PDF.
- rusty_mp3
- Encodes and decodes MP3 audio. Written in Rust and compiled to WebAssembly; the source and the one patch applied to it are in the repository.
- qrcode-generator
- Encodes the content of a QR code into its module pattern. The picture itself is drawn by this site.
- JsBarcode (encoders)
- Turns a value into the bar pattern of a Code 128, EAN-13 or UPC-A symbol. Only the encoder classes are shipped; the picture is drawn by this site.
Copyright
pdf.js is © Mozilla Foundation and contributors, used under the Apache License 2.0. @cantoo/pdf-lib is © Andrew Dillon and contributors, docx is © Dolan Miu and contributors, jsPDF is © James Hall, yWorks GmbH and contributors, ONNX Runtime is © Microsoft Corporation and js-yaml is © Vitaly Puzrin, all used under the MIT License. PaddleOCR.js, the PP-OCR models and OpenCV are © the PaddlePaddle Authors and the OpenCV team under the Apache License 2.0, the GlyphLessFont is © Google Inc. and the Tesseract authors under the same licence, transformers.js is © Hugging Face under the Apache License 2.0, the GLM-OCR model is © Zhipu AI and its ONNX conversion © the onnx-community under the MIT License, and Clipper is © Angus Johnson under the Boost Software License. Every one of those licenses permits this use and requires the notices to travel with the software, which is why they are published here.
Libraries deliberately not used
Several well-known PDF tools are published under the GNU GPL or AGPL. Those are good licenses and the wrong ones for this site, so none of them are used, and none of their code is present in what your browser downloads.