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 Bundle Laravel Package

psliwa/pdf-bundle

Symfony bundle for generating PDFs from HTML with wkhtmltopdf. It wraps the psliwa/php-pdf library, integrates with Twig templates, and exposes configurable PDF options, making it straightforward to render invoices, reports, and other documents in Symfony applications.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • PDF generation is a commodity capability, not a differentiator. This package supports the decision to treat document rendering (invoices, receipts, statements, reports, tickets, packing slips, compliance exports) as infrastructure to buy or adopt from a maintained open-source project, rather than something the team builds or maintains in-house.
  • Framework fit is a gating decision, not a detail. Despite the brief framing this as a Laravel/PHP package, psliwa/pdf-bundle is a Symfony2 bundle integrating the PHPPdf library. It is not a Laravel package and does not drop into a Laravel service provider/container model. That makes it a poor candidate for a Laravel roadmap item and a candidate only for a legacy Symfony2 maintenance context.
  • Build vs. buy vs. adopt: the package is MIT-licensed, so legal friction is low, but the ecosystem signals — 118 stars, 0 dependents, an opportunity score of 23.35 — indicate negligible adoption. A PM should treat it as an archived reference implementation, not a strategic dependency. The real build-vs-buy decision is between HTML-to-PDF rendering (headless Chrome/Browsershot, Dompdf, mPDF, Gotenberg, DocRaptor, PrinceXML) and a templating library like PHPPdf.
  • Use cases it nominally enables: XML/CSS-style document templates with page headers/footers, styled tables, and multi-page layouts. These map to billing documents, operational reports, customer statements, and back-office exports. For a Laravel product, the same use cases are better served by barryvdh/laravel-dompdf, spatie/browsershot, or a Gotenberg sidecar.
  • Roadmap implication: if a legacy Symfony2 service already depends on it, the PM decision is a containment and exit plan — freeze new template investment, inventory existing templates, and schedule migration to an HTML/CSS renderer. If no service depends on it, the decision is do not adopt.
  • Opportunity assessment: the low opportunity score reflects a small, stale niche: Symfony2-era integration of a specialized rendering library. There is no meaningful product opportunity in wrapping or reviving it for Laravel; the market has moved to HTML/CSS plus headless browsers and managed PDF APIs.

When to Consider This Package

Consider it only when all of the following are true:

  • You are maintaining an existing Symfony 2.x application that already uses PHPPdf or this bundle, and the cost of migration exceeds the cost of containment for the current planning horizon.
  • Your PDF requirements are modest and stable: structured XML/CSS-like templates, standard fonts, Latin character sets, no complex Unicode/CJK/RTL needs, no PDF/UA accessibility mandate.
  • You can accept an unmaintained dependency: no active security patching, no PHP 8+ modernization guarantees, and no vendor support path.
  • The output is internal or low-stakes (operational reports, back-office exports) rather than customer-facing documents with brand, accessibility, or compliance requirements.
  • You have engineering capacity to vendor/fork the code if a PHP runtime upgrade breaks it.

Look elsewhere when:

  • You are building on Laravel. Use barryvdh/laravel-dompdf for simple documents, spatie/browsershots/Browsershot for pixel-accurate HTML/CSS, or Gotenberg for a containerized, language-agnostic renderer.
  • You need modern PHP support (PHP 8.x), active maintenance, or a security response process.
  • You need accessibility (PDF/UA), advanced typography, CJK/RTL, digital signatures, PDF/A, or form fields. Evaluate mPDF, TCPDF, PrinceXML, or a managed API.
  • Throughput and reliability matter. Rendering at scale is better handled by a queue-backed worker plus a headless browser or dedicated rendering service, not a Symfony2 bundle.
  • You need a supported commercial path. DocRaptor, PrinceXML, and similar vendors provide SLAs that an unmaintained MIT bundle cannot.

How to Pitch It (Stakeholders)

For executives: We evaluated psliwa/pdf-bundle as a PDF-generation option and recommend not adopting it for our Laravel product. It is a Symfony2-era integration of the PHPPdf library, not a Laravel package, and it shows effectively no ecosystem adoption — 118 GitHub stars and zero dependent projects. Adopting it would create a single-maintainer dependency with no security patching and no upgrade path to modern PHP. PDF generation is a solved commodity; we should standardize on a maintained HTML-to-PDF approach so engineering time goes to product differentiation rather than document-rendering plumbing. Cost of adoption is low in license terms (MIT) but high in total cost of ownership: migration, forking, and security review.

For engineering: Treat this as a reference for XML/CSS-style document templating, not a dependency. If we have a legacy Symfony2 service using it, contain it: freeze template changes, inventory templates, and migrate to HTML/CSS rendered via Browsershot or Gotenberg behind a queue. If we are starting fresh, standardize on one renderer per document class — Dompdf for simple, low-fidelity documents; headless Chrome for brand-accurate customer-facing PDFs — and wrap it behind an internal DocumentRenderer interface so the vendor choice remains reversible. Flag the PHP 8 compatibility risk and the absence of dependents as due-diligence findings in the architecture decision record.

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.
mydnic/volet-feature-board-filament-plugin
wmde/email-address
refinery29/test-util
dees040/laravel-api-responses
teamzac/geocoder
ideatica/config-writer
keaton-php/pipe-dream
jacksonwebservices/laravel-user-suite
maksimru/conditional-laravel-debugbar
gismatul/nova-support-chat
gismatul/laravel-support-chat
networkrailbusinesssystems/oracle-api
alphabalex/messaging-made-easy
rawphp/warp
shootkiran/merobug
narakode/fineauth
numencode/wn-syncops-plugin
ibnnajjaar/mib-global-pay
refinery29/php-cs-fixer-config
parsnick/steak