jolicode/apache-tika-bundle
Symfony bundle that integrates Apache Tika to extract text and metadata from PDFs, Office documents, and other files. Provides simple services and configuration for document content extraction in PHP applications.
vaites/php-apache-tika into the container as an injectable service, so a developer can pull text and metadata out of PDF, DOCX, XLSX, PPT, ODT, HTML, RTF, EPUB, and images (with Tika's OCR) without writing per-format parsers.smalot/pdfparser + PhpSpreadsheet + PhpWord + pdftotext, or buying a cloud API (Textract, Document AI, Azure Document Intelligence). This bundle is the "assemble, don't build" option — but note it is a ~100-line glue layer, not the engine; the real dependency is the Java Tika server.>= 4.0 (thanks to a community contributor), so the integration is no longer frozen at Symfony 3 — but the project remains a low-traffic, single-maintainer bundle with a small user base. Treat this as evidence that the feature is underserved and that if you need it you will own the integration, while the release shows the underlying wiring is at least portable to a modern app skeleton.TikaClient service wrapper (tens of lines) over vaites/php-apache-tika directly. You get the same capability with no dependency on a narrowly-maintained bundle and full control over Symfony version compatibility.pdftotext/smalot/pdfparser; Office-only → PhpSpreadsheet/PhpWord); you need sub-second, high-volume extraction (cloud OCR APIs or purpose-built parsers will beat a JVM round-trip); you cannot run Java in production; you need a vendor SLA or security patching cadence; or you are on Symfony 5/6/7, where the new >= 4.0 constraint is formally satisfied but untested and unreleased since this bump.To executives: We can add "search and understand any uploaded document" to the product without building a parser per file type. The underlying engine, Apache Tika, is an established Apache project that reads over a thousand formats. The Symfony connector just got a community release that modernizes its framework compatibility, which is a good sign but not a support guarantee — it is still one maintainer and a small install base. My recommendation is unchanged: use the engine, own the integration ourselves, roughly a day of engineering rather than a standing dependency risk. The real cost is infrastructure: one extra Java service to run and monitor.
To engineering: This is a thin Symfony bundle around vaites/php-apache-tika, which talks to a Tika Server over HTTP. It gives you an injectable client for text and metadata extraction plus MIME detection, with autoconfiguration. v1.1.0 raises the constraint to Symfony >= 4.0, so it now installs on 4.x and above — verify it still boots on your target version, since the compatibility claim stops at the constraint and there is no CI signal for 5/6/7. Do not take it as a long-term dependency: single maintainer, minimal dependents, and a release history measured in years rather than months. Recommended path remains a short internal service class over the same client library, with Tika deployed as a sidecar behind a health check, so we control versioning, timeouts, and retries.
How can I help you explore Laravel packages today?