evosys21/pdflib
is a collection of PHP classes facilitating developers to create Advanced Multicells and Tables in FPDF, TCPDF, or
tFPDF.
This addon class allows the creation of an Advanced Multicell for FPDF/TCPDF/tFPDF, which uses as input a TAG-based formatted string instead of a simple string. The use of tags allows changing the font, style (bold, italic, underline), size, and color of characters and many other features.
The function is similar to the Multicell function in the TCPDF base class with extended parameters.
- Text can be aligned, centered, or justified.
- Different fonts, sizes, styles, and colors can be used.
- The cell block can be framed, and the background can be colored.
- Links can be used in any tag.
- TAB spaces (
\t
) can be used. - Variable vertical positions can be used for subscripts or superscripts.
- Cell padding (left, right, top, bottom) can be adjusted.
- Controlled tag sizes can be used.
Multicell Example #1 - Overview | multicell Example #1 - Overview | |
---|---|---|
Code | example-multicell-1-overview.php | example-multicell-6-shrinking.php |
Preview | ||
example-multicell-1-overview.pdf | example-multicell-1-overview.pdf |
Check the examples folder for more examples with preview and the associated code.
Click here for the end-user documentation for Advanced Multicell.
This addon class allows creation of an Advanced Table for FPDF/TCPDF/tFPDF in the pdf document in a very simple way.
- Every table cell supports Advanced Multicell functionality.
- Table cells can be aligned both vertically and horizontally.
- Cells can span multiple columns and rows.
- The table automatically splits on page breaks.
- The header is automatically added to every new page.
- Default properties for headers and rows can be set but can be overridden per individual cell.
- Advanced cell-splitting mode is available.
- The table supports transparency.
- Images can be inserted into table cells.
A full end-user documentation for Advanced Table is available here.
Table Example #1 - Overview | Table Example #1 - Overview | |
---|---|---|
Code | example-table-1-overview.php | example-table-2-overview.php |
Preview | ||
example-table-1-overview.pdf | example-table-1-overview.pdf |
Click here for the end-user documentation for Advanced Table.
The custom EvoSys21\PdfLib\Fpdf\Pdf
object is used instead of FPDF
because FPDF
's private/protected properties,
like widths, margins, and fonts, need to be accessed to implement add-ons.
Since FPDF
doesn't provide setters/getters for these properties, the class was extended to access them.
The same is valid for all 3 pdf classes: FPDF/TCPDF/tFPDF
.
For more details see:
If something is not working as expected, please check or open an issue.
If you would like to discuss your use case or ask a general question, please use the discussions board: discussions.
We welcome contributors to the project.
- Before opening a pull request, please create an issue to discuss the scope of your proposal.
- Never send PR to
main
unless you want to contribute to the development version of the client (main
represents the next major version).
Thanks in advance for your contribution! ❤️
MIT License. For more information, please see the LICENSE file.