Weave Code
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

Fpdi Laravel Package

setasign/fpdi

Import pages from existing PDFs and reuse them as templates in FPDF, TCPDF, or tFPDF. FPDI 2 is a modern, namespaced, PSR-4 compatible rewrite with major performance and memory improvements, no special PHP extensions required.

View on GitHub
Deep Wiki
Context7
v2.6.7

Fixes

  • Fixed handling of /Prev value in view to recursion when parsing cross-references.
  • Fixed handling of recursion in faulty page tree.
v2.6.6

Fixes

  • Fixed generation of internal reader-id in FpdiTrait.
  • Clear Tokenizer stack in CrossReference constructor.
v2.6.5

Fixes

  • Fixed font issue in FpdfTplTrait.
  • Fixed PHP 8.5 compatibility in Ascii85 class.

Tweaks

  • Use fully qualified function names.
  • Replaced list() calls by array destructing via [].
  • Added #[\SensitiveParameter]-attribute to $parserParams parameter in all methods handling that parameter.
  • Dropped support for PHP 7.1 due to security issues in legacy dependencies.
v2.6.4

Fixes

  • Fixed handling of recursive structures to avoid memory exhaustion (CVE-2025-54869).

Tweaks

  • Added check for false of return value of StreamReader::readBytes() in CrossReference\FixedReader to avoid PHP warning.
v2.6.3

Fixes

  • Added missing PdfType::resolve() calls in readPages() method (via #227).

Tweaks

  • Dropped support for PHP 5.6 + 7.0 due to missing support in major dependencies.
  • Reverted fix for implicitly nullable parameter declarations.
v2.6.2

Fixes

  • Fixed importing of links in none PDFDocEncoding.
  • Fixed handling of faulty dictionaries.

Tweaks

  • Fixed some small type inspection issues.
v2.6.1

Fixes

Tweaks

v2.6.0

Fixes

  • Ignore undefined objects in link annotation logic (fixes #191).
  • Flatten indirect references in imported annotation dictionaries (fixes #195).

Tweaks

  • Ensure newline before endobj token (fixes #184).
  • Optimized fallback logic in flate decode method.
  • Added tests for PHP 8.3.

Features

  • Added PdfType::flatten() method, which flattens indirect objects to direct objects.
v2.5.0

Fixes

  • Catch faulty stream wrapper implementations in StreamReader constructor.

Tweaks

  • Optimized parameter naming in PdfIndirectObject::parse().
  • Moved value parsing into explicit methods.
  • Optimized doc-blocks.

Features

  • Added PdfString::escape() method.
  • Add support for handling of Crypt filter in PdfStream class.
v2.4.1

Bugfix

  • Fixed bug if FPDI is used in mPDF (fixes #177).
v2.4.0

Features

  • Add support for importing external links/link annotations with an URI action.

Tweaks

  • Use window size of 31 in decompression fallback for FlateDecode filter.
v2.3.7

Fixes

  • Fixed rare bug in LZW decoding.

Tweaks

  • Added @return doc-block to some methods (fixes #152).
  • Added local test which imports layer definitions.
  • Added local test to access Info dictionary of the source file.
  • Verified compatibility with FPDF 1.85.
  • Optimized support for ignoring faulty structures in page tree.
v2.3.6

Fixes

  • Fixed handling of faulty structures in Contents entry (fixes #130).
v2.3.5

Fixes

  • Added support for PHP 8.0.

Tweaks

  • Updated PHPUnit tests.
v2.3.4

Fixes

  • Fixed fallback in Filter\Flate::decode().
  • Fixed minor documentation errors in doc blocks.
  • Supressed notice in flate filter for PHP 8.0.

Tweaks

  • Micro optimization of LineReader::extract().
  • Added visual tests to testsuite.
  • Added PHP_CodeSniffer and PHPStan inspections.
v2.3.3

Tweaks

  • Handle streams with invisible content (white signs) and a length of 0.
v2.3.2

Tweaks

  • Throw explicit exception in case of invalid object type at xref offset.
v2.3.1

Fixes

  • Fixed reading of page tree with uncommon structures (#87).

Tweaks

  • Optimized handling of uncommon FlateDecode streams.
v2.3.0

Fixes

  • Optimized decoding in Ascii85 filter class.
  • Fixed PHP 7.4 compatibility issue when calling hexdec() with invalid characters.

Features

  • Added support for tFPDF 1.31 which is based on FPDF 1.82.

Tweaks

  • Updated copyright information.
v2.2.0

Fixes

  • Added cleanUp() method in FpdiTrait and StreamReader to close open file handles when they are not used anymore (#70).

Features

  • Added support for handling FlateDecode streams that uses CRC32 checksum.
  • Added support for indirect references in /Length values of stream dictionaries.
  • Added support for reading streams with an invalid /Length value.

Tweaks

  • Use fully-qualified function calls.
  • Fixed wording in various DocBlocks.
v2.1.1

Fixes

  • Fixed handling of startxref == 0 with only a single cross-reference.
v2.1.0

Fixes

  • Save colors in FpdfTpl state. (#51)
  • Ignore cross-reference pointers to byte offset 0. (#55 / #58)

Features

  • Added support for tFPDF.
  • Optimized PdfParser::readValue() to handle an expected object type and implemented this on various calls. (#22)

Tweaks

  • Moved Fpdi\TcpdfFpdi to Fpdi\Tcpdf\Fpdi (the old class still exists but is marked as deprecated).
  • Optimized DocBlocks and code style.
v2.0.3

Fixes

  • Prohibit calling of AddPage() or setPageFormat() if a template is active. (#45)
  • Save "underline" property in FpdfTpl. (#44)

Features

  • Added $groupXObject parameter to FpdfTpl::beginTemplate() method. (#25)
v2.0.2

Fixes

  • Added support for escaped version numbers in Version (name) entry in document catalog.
  • Check parser instance in destruct method.

Tweaks

  • Fixed interchanged parameters in doc-block (#40).
  • Added .gitattributes to remove irrelevant files from release package.
v2.0.1

Fixes

  • Optimize closing of file handle in StreamReader class. (#30)

Tweaks

  • All internal function calls are FQN calls now.
  • Added @noinspection annotations.
v2.0.0

Final release of FPDI 2:

  • Namespaced code
  • Clean and up-to-date code base and style
  • PSR-4 compatible autoloading
  • Performance improvements by up to 100%
  • Less memory consumption
  • Native support for reading PDFs from strings or stream-resources
  • Support for documents with "invalid" data before their file-header
  • Optimized page tree resolving
  • Usage of individual exceptions
  • Several test types (unit, functional and visual tests)
1.6.2

Bugfixes:

  • Clean-up properties if a parser instance throws an exception at construction time.
  • Ignore invalid object references/types in a pages content array.
  • Throw an exception if a page object isn't an indirect object.
  • Optimized pdf_context::getPos() method if stream position is beyond end of file.
1.6.1
1.6.0

Switch from Apache Software License, Version 2.0 to MIT License. Bugfix: Added integer cast in ASCII85 filter for PHP 7 compatibility reason.

1.5.4

No new features or bugfixes. This release includes only changes to the composer.json which allows us to create packages with fixed dependencies:

1.5.3
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.
hamzi/corewatch
minionfactory/raw-hydrator
hexters/coinpayment
rjcodes/rjcms
act-training/laravel-permissions-manager
alimarchal/laravel-chart-of-accounts
babenkoivan/elastic-scout-driver
mkwebdesign/filament-watchdog-v5
renatomarinho/laravel-page-speed
zedmagdy/filament-business-hours
renatovdemoura/blade-elements-ui
devgeek/beacon-admin
benjamin-rqt/data-watcher-bundle
atriumphp/atrium
sandermuller/package-boost-laravel
sandermuller/boost-skills
redaxo/core
yusufgenc/filament-api-forge
l3aro/rating-star-for-filament
leek/filament-subtenant-scope