Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message
Pdf Parser Bundle

Pdf Parser Bundle Laravel Package

kreatys/pdf-parser-bundle

A PHP bundle for extracting text and metadata from PDF documents. Wraps a PDF parser behind a simple service interface so you can pull content, page counts, and document info from uploaded or stored PDFs in your PHP application.

View on GitHub
Deep Wiki
Context7

Integration of the smlot/pdfparser library for parsing PDF files in Symfony.

Frequently asked questions about Pdf Parser Bundle
Can I use kreatys/pdf-parser-bundle in Laravel?
No, it is not a good fit for Laravel. It is a Symfony bundle, and Laravel does not auto-discover bundles, so the bundle's load method and DI/config classes never execute. You would end up instantiating the underlying parser manually, which means the bundle is dead weight.
How do I install and configure kreatys/pdf-parser-bundle?
For Symfony, install it with Composer, enable the bundle in your kernel or bundles.php, and configure the bundle's configuration tree. It registers the parser as a container service with autowiring support. In Laravel there is no bundle enablement step and no equivalent config execution, so installation would not give you the intended integration.
Does kreatys/pdf-parser-bundle support Laravel 10, 11, or 12?
The bundle does not target Laravel 10, 11, or 12. Its Symfony 3/4-era constraints can conflict with the Symfony components already pulled in by a modern Laravel app, causing Composer solver failures or a downgrade cascade. Check the require block first; a conflict ends the evaluation.
What is the best Laravel alternative to kreatys/pdf-parser-bundle for extracting PDF text?
Use the maintained upstream parser directly, such as smalot/pdfparser or a verified alternative. Bind it as a singleton behind a first-party contract like App\Contracts\PdfTextExtractor in a service provider. That preserves swappability without carrying a Symfony DI wrapper.
How do I extract text and metadata from a PDF in Laravel?
Require the underlying parser, bind it in a service provider, and inject your extraction contract into controllers or jobs. Call the parser's text and metadata methods, then normalize the result into your own value object. For Laravel, that is simpler and more testable than adopting the Symfony bundle.
Is kreatys/pdf-parser-bundle maintained and safe for production?
The bundle has zero stars, zero dependents, and no visible production or issue history, so there is no validation signal. It is a thin wrapper, which makes it a fork and maintenance liability rather than an asset. PDF parsing also lacks a visible advisory channel, so vulnerabilities would surface through your own incident response.
What happens with scanned or image-only PDFs when extracting text?
Scanned or image-only PDFs typically extract to an empty string with no error, which is a silent-success failure. The wrapper does not add OCR or a documented distinct outcome for this case. Treat empty extraction as its own domain result and consider OCR separately.
Does kreatys/pdf-parser-bundle support encrypted PDFs, forms, or large files?
The provided context does not document streaming or chunking, and the wrapper mainly exposes the underlying parser. Encrypted documents, forms, and deeply nested PDFs need explicit testing against the maintained upstream library. Large PDFs remain a memory and decompression-bomb risk regardless of wrapper.
How should I test PDF text extraction in a Laravel app?
Use fixture PDFs that cover text-based, image-only, malformed, encrypted, and oversized documents. Unit-test your extraction contract with a fake, then integration-test the real parser against the fixtures. Assert that empty extraction is a distinct outcome rather than success.
Can I just copy the bundle's service wiring into Laravel?
Yes, because the bundle's main contribution is a DI extension, configuration tree, and service definition. In Laravel the equivalent is a singleton binding plus a small config array in a service provider you already own. Replicate that wiring by hand and keep the underlying parser as the dependency.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console
pnscripts/filament-broadquill-lite
pnscripts/laravel-sentfold-lite
vleap/mx-sdk-laravel-internal
twidpay/utils
htetmyathlaing/scout-elasticsearch-driver
artisan-toolbox/front-awesome
ls/client-assistant
users-au/laravel-client
cgv/localized-resource
noith/settings
kda/laravel-package
kda/filament-dynamic-navigation
bypersoft/signbox
pairus/product-data
fayne/laravel-filament-cms-core
nodisrupt/laravel-agent
sierratecnologia/media-manager