Example 12
Description
This example adds a simple table to the report body. The table has four columns with different alignments. The widths of the columns are fix and if the text needs more space it will be wrapped.
The first row just below the header shows the widths of the columns. The header row will be generated by the library based on the title texts for the columns (but it could be suppressed)
Output
<?php include_once "../src/Report.php"; use Adi\ReportLib as ReportLib; // Create report instance // default format A4, portrait with margins left = 20mm, top = 10mm, right = 10mm and bottom = 10mm $report = new ReportLib\Report(); // Get ref to the report body $body = $report->getBody(); // Add the table $table = $body->AddTable(); // Add four columns to the table $table->addColumn("frametype", "Frame type", 40.0); $table->addColumn("container", "Container type", 30.0, 'C'); $table->addColumn("description", "Description", 60.0); $table->addColumn("number", "Number", 20.0, 'R'); // Add a data row to the table with the column widths $row = new ReportLib\TableRow('D'); $row->setText("frametype", "width 40mm"); $row->setText("container", "width 30mm"); $row->setText("description", "width 60mm"); $row->setText("number", "width 20mm"); $table->addDataRow($row); // Add a data row to the table $row = new ReportLib\TableRow('D'); $row->setText("frametype", "LineFrame"); $row->setText("container", "No"); $row->setText("description", "This frame type represents a line on the report."); $row->setText("number", "1"); $table->addDataRow($row); // Add a second data row to the table $row = new ReportLib\TableRow('D'); $row->setText("frametype", "SerialFrame"); $row->setText("container", "Yes"); $row->setText("description", "This is a frame container for a series of frames which will be printed one after the other."); $row->setText("number", "2"); $table->addDataRow($row); // Add a third data row to the table $row = new ReportLib\TableRow('D'); $row->setText("frametype", "TextFrame"); $row->setText("container", "No"); $row->setText("description", "A simple frame type to print text."); $row->setText("number", "3"); $table->addDataRow($row); // Produce the output of the report // uses the same params as TCPDF (F = File, I = Preview etc.) $report->output(__DIR__ . "/example_012.pdf", 'I');