require_once __DIR__ . '/get_examples.php'; require_once __DIR__ . '/../vendor/autoload.php'; if (!isset($_GET['name'])) { echo 'Available examples:<br />'; $examples = get_examples(); echo '<ul>'; foreach ($examples as $example) { echo '<li>' . $example . ' (<a href="?name=' . $example . '">pdf</a> or <a href="?name=' . $example . '&engine=image">image</a>)'; } echo '</ul>'; exit; } $engine = isset($_GET['engine']) ? $_GET['engine'] : 'pdf'; // set different way of configuration //$facade = PHPPdf\Core\FacadeBuilder::create(new PHPPdf\Core\Configuration\DependencyInjection\LoaderImpl())//->setCache('File', array('cache_dir' => __DIR__.'/cache/')) $facade = PHPPdf\Core\FacadeBuilder::create()->setEngineType($engine)->setEngineOptions(array('format' => 'jpg', 'quality' => 70, 'engine' => 'imagick'))->build(); $name = basename($_GET['name']); $documentFilename = __DIR__ . '/' . $name . '.xml'; $stylesheetFilename = __DIR__ . '/' . $name . '-style.xml'; if (!is_readable($documentFilename)) { die(sprintf('Example "%s" dosn\'t exist.', $name)); } $xml = str_replace('dir:', __DIR__ . '/', file_get_contents($documentFilename)); $stylesheetXml = is_readable($stylesheetFilename) ? str_replace('dir:', __DIR__ . '/', file_get_contents($stylesheetFilename)) : null; $stylesheet = $stylesheetXml ? PHPPdf\DataSource\DataSource::fromString($stylesheetXml) : null; $start = microtime(true); $content = $facade->render($xml, $stylesheet); if (isset($_GET['t'])) { echo microtime(true) - $start . '<br />'; echo memory_get_peak_usage(true) / 1024 / 1024 . 'MB'; } else {
<?php error_reporting(E_ALL | E_NOTICE); ini_set('display_errors', 1); ini_set('display_startup_errors', 1); set_time_limit(240); require_once __DIR__ . '/get_examples.php'; require_once __DIR__ . '/../lib/PHPPdf/Autoloader.php'; PHPPdf\Autoloader::register(); PHPPdf\Autoloader::register(__DIR__ . '/../lib/vendor/Zend/library'); // set different way of configuration //$facade = PHPPdf\Core\FacadeBuilder::create(new PHPPdf\Core\Configuration\DependencyInjection\LoaderImpl())->setCache('File', array('cache_dir' => __DIR__.'/cache/')) $facade = PHPPdf\Core\FacadeBuilder::create()->build(); if ($_SERVER['argc'] < 3) { echo 'Pass example name and destination file path, for example `cli.php example-name /some/destination/file.pdf`' . PHP_EOL; echo 'Available examples:' . PHP_EOL; $examples = get_examples(); die(implode(PHP_EOL, $examples)); } $name = basename($_SERVER['argv'][1]); $destinationPath = $_SERVER['argv'][2]; $documentFilename = __DIR__ . '/' . $name . '.xml'; $stylesheetFilename = __DIR__ . '/' . $name . '-style.xml'; if (!is_readable($documentFilename) || !is_readable($stylesheetFilename)) { die(sprintf('Example "%s" dosn\'t exist.', $name)); } if (!is_writable(dirname($destinationPath))) { die(sprintf('"%s" isn\'t writable.', $destinationPath)); } $xml = str_replace('dir:', __DIR__ . '/', file_get_contents($documentFilename)); $stylesheetXml = str_replace('dir:', __DIR__ . '/', file_get_contents($stylesheetFilename));