Arrange the page
Place text, data fields, lines, shapes, images, barcodes and QR codes in a visual editor. Set the page and row dimensions in millimeters.
Build the layout visually, then connect its fields to your database with a ready-made PHP class and generated callbacks. The design lives in a separate report file.
Workflow illustration based on the report format
A designer or even your customer can adjust the report layout while the PHP integration continues to provide the values.
Place text, data fields, lines, shapes, images, barcodes and QR codes in a visual editor. Set the page and row dimensions in millimeters.
Export a PHP template with callbacks for the fields in that design. Fill those callbacks using the database queries and application logic you already have.
The PHP class loads the saved design, calls your data functions and renders the report. Layout edits do not require changes to the rendering code.
The editor recognizes fixed fields such as @@customer and repeating fields such as @@@description. The generated callback template gives each field a place to receive its value.
// Fields placed in the visual layout @@customer Fixed value @@invoiceNo Fixed value @@@description Repeating row @@@amount Repeating row // Saved as invoice.ppr
// Example values from your application use ZioBitPhpPdfReport\PdfReport; new PdfReport( 'invoice.ppr', 'invoice.pdf', 'reportData', count($items) ); function reportData($what, $index, $pdf, $sysVar) { global $invoice, $items; if ($what === '__precalc_row__') return ''; if ($what === 'customer') return $invoice['customer']; if ($what === 'invoiceNo') return $invoice['number']; if ($what === 'total') return $invoice['total']; if ($what === 'description') return $items[$index]['description']; if ($what === 'amount') return $items[$index]['amount']; return ''; }
Draw and refine the visual report in one place, then connect it to the records in your PHP application.
Arrange text, lines, rectangles and images on the page, with grids, alignment controls and millimeter-based settings.
Use fixed fields for values such as a customer name and repeating fields for rows from your data.
Export a PHP integration template listing the fields in your design, ready for your database logic.
Render multi-page reports with headers, footers, images, barcodes and QR codes through the PHP class.
Learn the visual editor, then connect report fields to PHP and your database. Each PDF includes a contents page and practical examples.
Page settings, every toolbar tool, object properties, layers, styles, shortcuts and export.
Read Graphic Editor PDF
Field tokens, the callback contract, a complete mysqli example, two-pass totals, images and deployment checks.
Read Callback implementation PDFThe report layout is separate from application code, so changes to typography, spacing and page structure can happen in the editor.
Start free, then choose a one-time license when your library of report designs grows.
Get familiar with the editor and build your first reports.
3 report saves
Visual editor · PHP integration
Request free editionRoom for a full library of client and internal reports.
100 report saves
Visual editor · PHP integration
Ask for StudioCreate and save as many report designs as your work calls for.
Unlimited report saves
Visual editor · PHP integration
Ask for UnlimitedPrices shown in USD. License requests open an email draft; online checkout is not connected yet.
Changes to placement, color, text styling and other visual details can stay in the saved report design. If you add a new data field, supply a value for its identifier in your callback.
Your PHP code stays responsible for database access. The generated callback template shows where to return the data for each fixed or repeating field.
Yes. Someone working on the visual layout can save a new design without editing the PDF rendering code. Your application can then use that saved report file.