Esempio n. 1
0
 public function setPDFRGBTextColor($rgb)
 {
     $pieces = ReportOutputter::parseRGBToArray($rgb);
     $this->pdf->SetTextColor($pieces[0] * 255.0, $pieces[1] * 255.0, $pieces[2] * 255.0);
 }
Esempio n. 2
0
function formatDollars($row, $report, $column, $level, $value)
{
    return '$' . number_format($value, 2);
}
// --------------------------------
// Report Column Definitions
// --------------------------------
$reportColumns = array(new ReportColumn(array('name' => 'clientId', 'heading' => 'Client Id', 'align' => 'right', 'format' => 'number', 'decimalPlaces' => 0, 'relativeWidth' => 10)), new ReportColumn(array('name' => 'clientName', 'heading' => 'Client Name', 'align' => 'left', 'format' => 'string', 'relativeWidth' => 30)), new ReportColumn(array('name' => 'saleDate', 'heading' => 'Sale Date', 'align' => 'left', 'format' => 'string', 'relativeWidth' => 10)), new ReportColumn(array('name' => 'productId', 'heading' => 'Product Id', 'align' => 'right', 'format' => 'number', 'decimalPlaces' => 0, 'relativeWidth' => 10)), new ReportColumn(array('name' => 'productDescription', 'heading' => 'Product Description', 'align' => 'left', 'format' => 'string', 'relativeWidth' => 30)), new ReportColumn(array('name' => 'quantity', 'heading' => 'Quantity', 'align' => 'right', 'format' => 'number', 'decimalPlaces' => 0, 'relativeWidth' => 10, 'outputTotalsAtLevels' => array('grand', 'client', 'saleDate'))), new ReportColumn(array('name' => 'unitPrice', 'heading' => 'Unit Price', 'align' => 'right', 'format' => 'number', 'decimalPlaces' => 2, 'relativeWidth' => 10, 'formatCallback' => 'formatDollars')), new ReportColumn(array('name' => 'totalPrice', 'heading' => 'Total Price', 'align' => 'right', 'format' => 'number', 'decimalPlaces' => 2, 'relativeWidth' => 10, 'outputTotalsAtLevels' => array('grand', 'client', 'saleDate'), 'valueCalcCallback' => 'calcTotalPrice', 'formatCallback' => 'formatDollars')));
// --------------------------------
// Report Level Definitions
// --------------------------------
$reportLevels = array(new ReportLevel(array('name' => 'grand', 'uniqueIdColumnNames' => array(), 'totalsDescription' => 'Grand Totals', 'totalsDescriptionLeftColumnName' => 'saleDate', 'totalsDescriptionColumnSpan' => 2)), new ReportLevel(array('name' => 'client', 'uniqueIdColumnNames' => array('clientId', 'clientName'), 'totalsDescription' => 'Client Totals', 'totalsDescriptionLeftColumnName' => 'saleDate', 'totalsDescriptionColumnSpan' => 2, 'reOutputHeadingAfterEachLevelTotal' => false)), new ReportLevel(array('name' => 'saleDate', 'uniqueIdColumnNames' => array('saleDate'), 'totalsDescription' => 'Date Totals', 'totalsDescriptionLeftColumnName' => 'saleDate', 'totalsDescriptionColumnSpan' => 2)));
// --------------------------------
// Report Output Definitions
// --------------------------------
$outputter = new ReportOutputter();
///$outputter->setOutputFormat('html');
$outputter->setOutputFormat('pdf');
if ($outputter->outputFormat == 'xls') {
    $outputter->setWorkbookFilename('/tmp/x.xls');
}
if ($outputter->outputFormat == 'pdf') {
    $outputter->setPDFFilename('/tmp/x.pdf');
}
$report = new Report($reportColumns, $reportLevels, $outputter, 'Client Purchases by Date');
foreach ($rows as &$row) {
    $report->outputRow($row);
}
$report->finish();
$outputter->finish();
echo "{$outputter->output}\n";
Esempio n. 3
0
 public function setPDFRGBTextColor($rgb)
 {
     $pieces = ReportOutputter::parseRGBToArray($rgb);
     $this->pdf->setTextColor('rgb', $pieces[0], $pieces[1], $pieces[2]);
 }