tomsgu/pdf-merger-bundle
A Symfony bundle for merging multiple PDF files into one, exposing PDF merger functionality through the service container with a simple, configurable API for PHP applications. Ideal for combining reports, invoices, and documents programmatically.
tomsgu/pdf-merge library means the decision is really "integrate a library" versus "write a merger in-house." Buying is roughly a one-to-two-day integration; building means owning low-level PDF object handling, which is rarely where product differentiation lives.tomsgu/pdf-merge library directly, or a Laravel-native PDF toolkit already in the stack.Consider it when all of the following hold:
Look elsewhere when:
tomsgu/pdf-merge directly, or evaluate a more actively maintained toolkit (e.g., a FPDI/TCPDF-based wrapper, mPDF, or a commercial SDK) that also covers generation.To executives: This is a small, MIT-licensed PHP component that lets us combine multiple PDFs into one file — the plumbing behind features like consolidated statements or "download everything as a single packet." Cost is near zero and integration is measured in days, not sprints. The risk is not technical, it is supplier risk: the project has minimal adoption, a single maintainer, and no commercial support. Recommendation is to treat it as an internal, forkable utility rather than a strategic dependency, and to timebox a short spike before any customer-facing commitment.
To engineering: It is a Symfony bundle wrapping the tomsgu/pdf-merge library — the bundle adds DI configuration, not capability. Do not pull the bundle into a Laravel service; depend on the library directly and wrap it behind our own PdfMerger interface so the vendor is swappable in one place. Validate three things in the spike: (1) our generated PDFs parse cleanly under the underlying FPDI constraints; (2) peak memory on our largest realistic merge set; (3) Symfony and PHP version compatibility against the actual composer constraints, not the release date. Pin the version, commit a lockfile, and keep a fork path open.
Recommendation: Conditional go — approve as an internal utility behind an abstraction, gated on the spike; do not standardize on it as the company's PDF strategy.
How can I help you explore Laravel packages today?