From 02608271bb2a9f3a65ed536984d306ee14b48e34 Mon Sep 17 00:00:00 2001 From: Geo Halkiadakis Date: Sun, 12 Jul 2026 15:51:52 +0300 Subject: initialize repository; add docker config; migrate configuration to new specs --- public/library/TCPDF/examples/example_059.php | 190 ++++++++++++++++++++++++++ 1 file changed, 190 insertions(+) create mode 100644 public/library/TCPDF/examples/example_059.php (limited to 'public/library/TCPDF/examples/example_059.php') diff --git a/public/library/TCPDF/examples/example_059.php b/public/library/TCPDF/examples/example_059.php new file mode 100644 index 0000000..9396784 --- /dev/null +++ b/public/library/TCPDF/examples/example_059.php @@ -0,0 +1,190 @@ +tocpage) { + // *** replace the following parent::Header() with your code for TOC page + parent::Header(); + } else { + // *** replace the following parent::Header() with your code for normal pages + parent::Header(); + } + } + + /** + * Overwrite Footer() method. + * @public + */ + public function Footer() { + if ($this->tocpage) { + // *** replace the following parent::Footer() with your code for TOC page + parent::Footer(); + } else { + // *** replace the following parent::Footer() with your code for normal pages + parent::Footer(); + } + } + +} // end of class + +// create new PDF document +$pdf = new TOC_TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false); + +// set document information +$pdf->SetCreator(PDF_CREATOR); +$pdf->SetAuthor('Nicola Asuni'); +$pdf->SetTitle('TCPDF Example 059'); +$pdf->SetSubject('TCPDF Tutorial'); +$pdf->SetKeywords('TCPDF, PDF, example, test, guide'); + +// set default header data +$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE.' 059', PDF_HEADER_STRING); + +// set header and footer fonts +$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN)); +$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA)); + +// set default monospaced font +$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED); + +// set margins +$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT); +$pdf->SetHeaderMargin(PDF_MARGIN_HEADER); +$pdf->SetFooterMargin(PDF_MARGIN_FOOTER); + +// set auto page breaks +$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM); + +// set image scale factor +$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO); + +// set some language-dependent strings (optional) +if (@file_exists(dirname(__FILE__).'/lang/eng.php')) { + require_once(dirname(__FILE__).'/lang/eng.php'); + $pdf->setLanguageArray($l); +} + +// set font +$pdf->SetFont('helvetica', '', 10); + +// --------------------------------------------------------- + +// create some content ... + +// add a page +$pdf->AddPage(); + +// set a bookmark for the current position +$pdf->Bookmark('Chapter 1', 0, 0, '', 'B', array(0,64,128)); + +// print a line using Cell() +$pdf->Cell(0, 10, 'Chapter 1', 0, 1, 'L'); + +$pdf->AddPage(); +$pdf->Bookmark('Paragraph 1.1', 1, 0, '', '', array(128,0,0)); +$pdf->Cell(0, 10, 'Paragraph 1.1', 0, 1, 'L'); + +$pdf->AddPage(); +$pdf->Bookmark('Paragraph 1.2', 1, 0, '', '', array(128,0,0)); +$pdf->Cell(0, 10, 'Paragraph 1.2', 0, 1, 'L'); + +$pdf->AddPage(); +$pdf->Bookmark('Sub-Paragraph 1.2.1', 2, 0, '', 'I', array(0,128,0)); +$pdf->Cell(0, 10, 'Sub-Paragraph 1.2.1', 0, 1, 'L'); + +$pdf->AddPage(); +$pdf->Bookmark('Paragraph 1.3', 1, 0, '', '', array(128,0,0)); +$pdf->Cell(0, 10, 'Paragraph 1.3', 0, 1, 'L'); + +// add some pages and bookmarks +for ($i = 2; $i < 12; $i++) { + $pdf->AddPage(); + $pdf->Bookmark('Chapter '.$i, 0, 0, '', 'B', array(0,64,128)); + $pdf->Cell(0, 10, 'Chapter '.$i, 0, 1, 'L'); +} + + +// . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + + +// add a new page for TOC +$pdf->addTOCPage(); + +// write the TOC title and/or other elements on the TOC page +$pdf->SetFont('times', 'B', 16); +$pdf->MultiCell(0, 0, 'Table Of Content', 0, 'C', 0, 1, '', '', true, 0); +$pdf->Ln(); +$pdf->SetFont('helvetica', '', 10); + +// define styles for various bookmark levels +$bookmark_templates = array(); + +/* + * The key of the $bookmark_templates array represent the bookmark level (from 0 to n). + * The following templates will be replaced with proper content: + * #TOC_DESCRIPTION# this will be replaced with the bookmark description; + * #TOC_PAGE_NUMBER# this will be replaced with page number. + * + * NOTES: + * If you want to align the page number on the right you have to use a monospaced font like courier, otherwise you can left align using any font type. + * The following is just an example, you can get various styles by combining various HTML elements. + */ + +// A monospaced font for the page number is mandatory to get the right alignment +$bookmark_templates[0] = '
#TOC_DESCRIPTION##TOC_PAGE_NUMBER#
'; +$bookmark_templates[1] = '
 #TOC_DESCRIPTION##TOC_PAGE_NUMBER#
'; +$bookmark_templates[2] = '
 #TOC_DESCRIPTION##TOC_PAGE_NUMBER#
'; +// add other bookmark level templates here ... + +// add table of content at page 1 +// (check the example n. 45 for a text-only TOC +$pdf->addHTMLTOC(1, 'INDEX', $bookmark_templates, true, 'B', array(128,0,0)); + +// end of TOC page +$pdf->endTOCPage(); + +// . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + +// --------------------------------------------------------- + +//Close and output PDF document +$pdf->Output('example_059.pdf', 'D'); + +//============================================================+ +// END OF FILE +//============================================================+ -- cgit v1.2.3