| #
fd4f7c47
|
| 06-Jul-2026 |
Andreas Gohr <gohr@cosmocode.de> |
Track the cosmocode prinsfrank/pdfparser dev fork
The dev fork adds native UTF-16BE Info-string decoding and Form-XObject text extraction. Point composer at the fork's VCS repo, pin dev-dev, and dro
Track the cosmocode prinsfrank/pdfparser dev fork
The dev fork adds native UTF-16BE Info-string decoding and Form-XObject text extraction. Point composer at the fork's VCS repo, pin dev-dev, and drop the now-redundant normalizePdfString() UTF-16BE shim (metadata values just get trimmed). Refresh AGENTS.md accordingly.
show more ...
|
| #
b4ecfc82
|
| 22-Jun-2026 |
Andreas Gohr <gohr@cosmocode.de> |
Replace smalot/pdfparser with prinsfrank/pdfparser
Switch the PDF extractor from the cosmocode/pdfparser memory fork (an LGPL smalot/pdfparser fork) to prinsfrank/pdfparser (MIT, built from scratch,
Replace smalot/pdfparser with prinsfrank/pdfparser
Switch the PDF extractor from the cosmocode/pdfparser memory fork (an LGPL smalot/pdfparser fork) to prinsfrank/pdfparser (MIT, built from scratch, zero PHP dependencies beyond prinsfrank/glyph-lists).
PdfExtractor now calls parseFile($path)->getText() in the default in-memory mode, which benchmarked both faster and far lighter than the old fork (on a 12 MB/92-page file: 63s/49.5MB vs 68s/100MB), so the previous setRetainImageContent() tuning is no longer needed.
Known limitation: prinsfrank/pdfparser <= v3.1.0 does not extract text inside Form XObjects (page content painted with the Do operator, common in Quartz/Firefox/Chrome PDFs such as the Tika sample), so PdfExtractorTest::testExtractsText fails against stock v3.1.0.
show more ...
|
| #
d8f4c70a
|
| 18-Jun-2026 |
Andreas Gohr <gohr@cosmocode.de> |
Switch to the cosmocode/pdfparser memory fork
Replace the upstream smalot/pdfparser dependency with our own fork (cosmocode/pdfparser, dev-memory branch) for its lower-peak-memory streaming parser.
Switch to the cosmocode/pdfparser memory fork
Replace the upstream smalot/pdfparser dependency with our own fork (cosmocode/pdfparser, dev-memory branch) for its lower-peak-memory streaming parser. The fork keeps the smalot/pdfparser package name, so it is wired in as a vcs repository in composer.json and required as dev-memory; the vendored copy and lock file are regenerated accordingly.
PdfExtractor is unchanged - the public API it uses (Config::setRetainImageContent(), Parser::parseFile()) is identical.
show more ...
|
| #
ca76a2e6
|
| 17-Jun-2026 |
Andreas Gohr <gohr@cosmocode.de> |
Initial implementation of the totext plugin
Extract plain text from various file formats using PHP only (no shell-outs, no external binaries). Provides a CLI component (cli_plugin_totext) and a help
Initial implementation of the totext plugin
Extract plain text from various file formats using PHP only (no shell-outs, no external binaries). Provides a CLI component (cli_plugin_totext) and a helper component (helper_plugin_totext).
Supported formats: - OOXML: docx, xlsx, pptx - OpenDocument: odt, ods, odp - PDF (via bundled smalot/pdfparser) - Plain-text family: txt, csv, md, markdown, log, text - Image metadata (EXIF/IPTC): jpg, jpeg, tif, tiff
Includes a fixture-based test suite covering every extractor, the factory routing, and the helper end to end.
show more ...
|