fbeen/pdf-bundle
A Symfony bundle that simplifies PDF generation from HTML or Twig templates, providing service integration and configuration to add PDF export functionality to Symfony applications with minimal setup.
Architecture fit. There is a fundamental mismatch to surface before any code review: fbeen/pdf-bundle is a Symfony bundle, not a Laravel package. Bundles depend on Symfony\Component\HttpKernel\Bundle\Bundle, container Extension classes, and the Symfony config-tree/DI compiler pass pipeline. Laravel ships Symfony components (HttpFoundation, Console, Routing) but has no bundle registry and no DI extension compilation, so this package cannot be installed into a Laravel service provider as-is. The only portable asset is the wrapped upstream library (psliwa/php-pdf), which is plain PHP and Composer-installable without the bundle.
Integration feasibility. The bundle's entire stated value proposition is "same as psliwa/pdf-bundle but works with Symfony 3.3" — i.e., it is a compatibility patch fork, not a feature fork. For a Laravel codebase, that value is zero. Realistic options, in order of preference:
PdfRenderer interface (no bundle, no fork).psliwa/php-pdf if output fidelity requirements specifically match it.Technical risk.
psliwa/php-pdf or the bundle fixes a security or correctness issue, this fork has no obligation to track it. We inherit a private maintenance burden on day one.Key questions.
Stack fit. Poor for Laravel. A TPM should treat this as "not a fit for the target platform" and redirect the evaluation to the underlying library or a Laravel-native alternative. Do not spend engineering cycles building a bundle-shim — that is custom infrastructure for a zero-adoption fork.
Migration path. If an existing service already uses psliwa/pdf-bundle on Symfony 3.3, this fork is a legitimate stopgap to unblock a Composer resolution — nothing more. Treat it as technical debt with a scheduled exit. If the goal is greenfield PDF generation in Laravel, there is no migration path from this package; there is only a fresh selection decision.
Compatibility. Verify before anything else: PHP constraint in composer.json, psliwa/php-pdf version pinned, presence of a DependencyInjection/ extension and Resources/config/services.yml (confirms it is bundle-only glue), and whether the renderer supports the fonts/scripts our documents require. A 30-minute read of the repo settles it.
Sequencing.
Maintenance. High for a small payoff. A zero-dependent fork means we are the de facto maintainer: no upstream patches, no issue triage, no release cadence. Budget for at least a periodic compatibility patch at every PHP upgrade, and for owning the SBOM entry indefinitely.
Support. No documentation beyond the upstream bundle's, no community to ask, no vendor relationship. Internal runbook and a named owner are prerequisites to adoption, not nice-to-haves.
Scaling. PDF rendering is CPU- and memory-bound; a pure-PHP renderer scales worse than a headless-Chrome or wkhtmltopdf sidecar. Any adoption must be async — push rendering to a queue worker with an explicit memory ceiling and timeout, write output to object storage, and return a signed URL. Never render inline in a request path. Large documents are the classic failure mode here.
Failure modes.
Ramp-up. Low individual learning curve — the API surface is small and the bundle is thin glue — but the organizational ramp-up is the cost: security review, SBOM registration, ownership assignment, and an exit plan. For a zero-star fork with zero dependents and a one-line raison d'être, the expected value is negative for a Laravel target. Recommendation: reject for integration; retain as a reference point only if a legacy Symfony 3.3 application requires the stopgap.
How can I help you explore Laravel packages today?