From 4bda76bae63d372f2da1a7a85b5df0b91ecc537a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ragnar=20=C3=9E=C3=B3r=20Valgeirsson?= Date: Tue, 30 Jan 2018 11:45:00 +0000 Subject: [PATCH] Add syntax highlighting to php examples --- README.md | 94 +++++++++++++++++++++++++++++-------------------------- 1 file changed, 49 insertions(+), 45 deletions(-) diff --git a/README.md b/README.md index ebb0fd1..ebae099 100644 --- a/README.md +++ b/README.md @@ -17,53 +17,57 @@ Usage Usage is essentially the same as FPDI, except importing TCPDI rather than FPDI. It also has a "setSourceData()" function which accepts raw PDF data, for cases where the file does not reside on disk or is not readable by TCPDI. - // Include the main TCPDF library and TCPDI. - require_once('lib/tcpdf/tcpdf.php'); - require_once('lib/tcpdf/tcpdi.php'); - - // Create new PDF document. - $pdf = new TCPDI(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false); - - // Add a page from a PDF by file path. +```php +// Include the main TCPDF library and TCPDI. +require_once('lib/tcpdf/tcpdf.php'); +require_once('lib/tcpdf/tcpdi.php'); + +// Create new PDF document. +$pdf = new TCPDI(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false); + +// Add a page from a PDF by file path. +$pdf->AddPage(); +$pdf->setSourceFile('/path/to/file-to-import.pdf'); +$idx = $pdf->importPage(1); +$pdf->useTemplate($idx); + +$pdfdata = file_get_contents('/path/to/other-file.pdf'); // Simulate only having raw data available. +$pagecount = $pdf->setSourceData($pdfdata); +for ($i = 1; $i <= $pagecount; $i++) { + $tplidx = $pdf->importPage($i); $pdf->AddPage(); - $pdf->setSourceFile('/path/to/file-to-import.pdf'); - $idx = $pdf->importPage(1); - $pdf->useTemplate($idx); - - $pdfdata = file_get_contents('/path/to/other-file.pdf'); // Simulate only having raw data available. - $pagecount = $pdf->setSourceData($pdfdata); - for ($i = 1; $i <= $pagecount; $i++) { - $tplidx = $pdf->importPage($i); - $pdf->AddPage(); - $pdf->useTemplate($tplidx); - } + $pdf->useTemplate($tplidx); +} +``` As of version 1.1, TCPDI also includes additional functionality for handling PDF Annotations. As annotations are positioned relative to the bleed box rather than the crop box, you'll need to ensure that you're importing the full bleed box; a new function has also been introduced to set the page format (the various boxes, including the crop box) from the imported page, so that the imported page matches the original better. The following example demonstrates this: - // Include the main TCPDF library and TCPDI. - require_once('lib/tcpdf/tcpdf.php'); - require_once('lib/tcpdf/tcpdi.php'); - - // Create new PDF document. - $pdf = new TCPDI(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false); - - // Add a page from a PDF by file path. - $pdf->setSourceFile('/path/to/file-to-import.pdf'); - - // Import the bleed box (default is crop box) for page 1. - $tplidx = $pdf->importPage(1, '/BleedBox'); - $size = $pdf->getTemplatesize($tplidx); - $orientation = ($size['w'] > $size['h']) ? 'L' : 'P'; - - $pdf->AddPage($orientation); - - // Set page boxes from imported page 1. - $pdf->setPageFormatFromTemplatePage(1, $orientation); - - // Import the content for page 1. - $pdf->useTemplate($tplidx); - - // Import the annotations for page 1. - $pdf->importAnnotations(1); +```php +// Include the main TCPDF library and TCPDI. +require_once('lib/tcpdf/tcpdf.php'); +require_once('lib/tcpdf/tcpdi.php'); + +// Create new PDF document. +$pdf = new TCPDI(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false); + +// Add a page from a PDF by file path. +$pdf->setSourceFile('/path/to/file-to-import.pdf'); + +// Import the bleed box (default is crop box) for page 1. +$tplidx = $pdf->importPage(1, '/BleedBox'); +$size = $pdf->getTemplatesize($tplidx); +$orientation = ($size['w'] > $size['h']) ? 'L' : 'P'; + +$pdf->AddPage($orientation); + +// Set page boxes from imported page 1. +$pdf->setPageFormatFromTemplatePage(1, $orientation); + +// Import the content for page 1. +$pdf->useTemplate($tplidx); + +// Import the annotations for page 1. +$pdf->importAnnotations(1); +``` -Note: tcpdi_parser v1.1 is required in order to import annotations, though setPageFormatFromTemplatePage() should work with older versions of tcpdi_parser. \ No newline at end of file +Note: tcpdi_parser v1.1 is required in order to import annotations, though setPageFormatFromTemplatePage() should work with older versions of tcpdi_parser.