Vendored third-party libraries (for /pdftools/)
Vendored third-party libraries (for /pdftools/)
These are pinned, locally-served copies so the PDF toolbench runs fully offline with no CDN/network calls (privacy + the site’s no-external-deps ethos). Downloaded, not hotlinked. This file is the registry for all of them, including the sibling directories assets/js/tesseractlib/ (OCR) and assets/js/qpdflib/ (encryption).
pdf-lib — pdf-lib.min.js
- Version 1.17.1
- License: MIT — https://github.com/Hopding/pdf-lib/blob/master/LICENSE.md
- Used for structural PDF editing (merge, split, reorder, rotate, delete pages, embed images for signatures and rasterized redaction, strip metadata). Exposes
window.PDFLib.
pdf.js — pdfjs/pdf.min.js, pdfjs/pdf.worker.min.js
- Version 3.11.174 (legacy UMD build)
- License: Apache License 2.0 — https://github.com/mozilla/pdf.js/blob/master/LICENSE (the full license notice is retained in the minified file headers)
- Mozilla’s PDF renderer (Firefox’s built-in viewer). Used for DISPLAY ONLY: page thumbnails/previews and rasterizing pages for true redaction. Exposes
window.pdfjsLib; the worker is loaded from this local path (never a CDN).
tesseract.js — ../tesseractlib/ (lazy-loaded, only when OCR is used)
- tesseract.js 5.1.1:
tesseract.min.js,worker.min.js(+ the webpack-extracted*.LICENSE.txtnotices, kept alongside) - tesseract.js-core 5.1.1:
tesseract-core-simd-lstm.wasm.js,tesseract-core-lstm.wasm.js(single-file builds with the wasm embedded; the worker picks the SIMD one when the browser supports it — only the two LSTM cores are vendored because the toolbench always runs OEM 1 / LSTM-only) - License: Apache License 2.0 — copies kept in the directory as
LICENSE-tesseract.js.mdandLICENSE-tesseract.js-core.txt(https://github.com/naptha/tesseract.js and https://github.com/naptha/tesseract.js-core) - Language data:
lang/eng.traineddata.gz— the tessdata_fast 4.0.0 English model, from https://github.com/naptha/tessdata (gh-pages,4.0.0_fast/), Apache License 2.0 (https://github.com/tesseract-ocr/tessdata_fast). - Used for the “Make searchable (OCR)” feature: recognizes page text in the browser and writes an invisible text layer.
workerPath,corePath, andlangPathall point at this local directory; nothing is fetched from a third-party server.
qpdf (WebAssembly) — ../qpdflib/ (lazy-loaded, only when Protect is used)
- @jspawn/qpdf-wasm 0.0.2 (qpdf compiled to wasm via Emscripten):
qpdf.js,qpdf.wasm - License: Apache License 2.0 — copy kept as
LICENSE-qpdf-wasm.txt(https://github.com/jspawn/qpdf-wasm; upstream qpdf: https://github.com/qpdf/qpdf) - Used for the “Protect…” feature: AES-256 password encryption of the final built PDF, entirely in the browser.
To update: re-download the same files from the upstream release and bump the versions here.
