diff options
| author | Geo Halkiadakis <gchalkiadakis@sklavenitis.co.gr> | 2026-07-12 15:51:52 +0300 |
|---|---|---|
| committer | Geo Halkiadakis <gchalkiadakis@sklavenitis.co.gr> | 2026-07-12 15:51:52 +0300 |
| commit | 02608271bb2a9f3a65ed536984d306ee14b48e34 (patch) | |
| tree | 3f23ec48a694ec014e845c4f70d9b5f1c065403c /public/library/TCPDF/examples/example_014.php | |
| download | kalassa-02608271bb2a9f3a65ed536984d306ee14b48e34.tar.gz kalassa-02608271bb2a9f3a65ed536984d306ee14b48e34.tar.bz2 kalassa-02608271bb2a9f3a65ed536984d306ee14b48e34.zip | |
Diffstat (limited to 'public/library/TCPDF/examples/example_014.php')
| -rw-r--r-- | public/library/TCPDF/examples/example_014.php | 194 |
1 files changed, 194 insertions, 0 deletions
diff --git a/public/library/TCPDF/examples/example_014.php b/public/library/TCPDF/examples/example_014.php new file mode 100644 index 0000000..27e4efc --- /dev/null +++ b/public/library/TCPDF/examples/example_014.php @@ -0,0 +1,194 @@ +<?php +//============================================================+ +// File name : example_014.php +// Begin : 2008-03-04 +// Last Update : 2013-05-14 +// +// Description : Example 014 for TCPDF class +// Javascript Form and user rights (only works on Adobe Acrobat) +// +// Author: Nicola Asuni +// +// (c) Copyright: +// Nicola Asuni +// Tecnick.com LTD +// www.tecnick.com +// info@tecnick.com +//============================================================+ + +/** + * Creates an example PDF TEST document using TCPDF + * @package com.tecnick.tcpdf + * @abstract TCPDF - Example: Javascript Form and user rights (only works on Adobe Acrobat) + * @author Nicola Asuni + * @since 2008-03-04 + */ + + +// Include the main TCPDF library (search for installation path). +require_once('tcpdf_include.php'); + +// create new PDF document +$pdf = new 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 014'); +$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.' 014', 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); +} + +// --------------------------------------------------------- + +// IMPORTANT: disable font subsetting to allow users editing the document +$pdf->setFontSubsetting(false); + +// set font +$pdf->SetFont('helvetica', '', 10, '', false); + +// add a page +$pdf->AddPage(); + +/* +It is possible to create text fields, combo boxes, check boxes and buttons. +Fields are created at the current position and are given a name. +This name allows to manipulate them via JavaScript in order to perform some validation for instance. +*/ + +// set default form properties +$pdf->setFormDefaultProp(array('lineWidth'=>1, 'borderStyle'=>'solid', 'fillColor'=>array(255, 255, 200), 'strokeColor'=>array(255, 128, 128))); + +$pdf->SetFont('helvetica', 'BI', 18); +$pdf->Cell(0, 5, 'Example of Form', 0, 1, 'C'); +$pdf->Ln(10); + +$pdf->SetFont('helvetica', '', 12); + +// First name +$pdf->Cell(35, 5, 'First name:'); +$pdf->TextField('firstname', 50, 5); +$pdf->Ln(6); + +// Last name +$pdf->Cell(35, 5, 'Last name:'); +$pdf->TextField('lastname', 50, 5); +$pdf->Ln(6); + +// Gender +$pdf->Cell(35, 5, 'Gender:'); +$pdf->ComboBox('gender', 30, 5, array(array('', '-'), array('M', 'Male'), array('F', 'Female'))); +$pdf->Ln(6); + +// Drink +$pdf->Cell(35, 5, 'Drink:'); +//$pdf->RadioButton('drink', 5, array('readonly' => 'true'), array(), 'Water'); +$pdf->RadioButton('drink', 5, array(), array(), 'Water'); +$pdf->Cell(35, 5, 'Water'); +$pdf->Ln(6); +$pdf->Cell(35, 5, ''); +$pdf->RadioButton('drink', 5, array(), array(), 'Beer', true); +$pdf->Cell(35, 5, 'Beer'); +$pdf->Ln(6); +$pdf->Cell(35, 5, ''); +$pdf->RadioButton('drink', 5, array(), array(), 'Wine'); +$pdf->Cell(35, 5, 'Wine'); +$pdf->Ln(6); +$pdf->Cell(35, 5, ''); +$pdf->RadioButton('drink', 5, array(), array(), 'Milk'); +$pdf->Cell(35, 5, 'Milk'); +$pdf->Ln(10); + +// Newsletter +$pdf->Cell(35, 5, 'Newsletter:'); +$pdf->CheckBox('newsletter', 5, true, array(), array(), 'OK'); + +$pdf->Ln(10); +// Address +$pdf->Cell(35, 5, 'Address:'); +$pdf->TextField('address', 60, 18, array('multiline'=>true, 'lineWidth'=>0, 'borderStyle'=>'none'), array('v'=>'Lorem ipsum dolor sit amet, consectetur adipiscing elit.', 'dv'=>'Lorem ipsum dolor sit amet, consectetur adipiscing elit.')); +$pdf->Ln(19); + +// Listbox +$pdf->Cell(35, 5, 'List:'); +$pdf->ListBox('listbox', 60, 15, array('', 'item1', 'item2', 'item3', 'item4', 'item5', 'item6', 'item7'), array('multipleSelection'=>'true')); +$pdf->Ln(20); + +// E-mail +$pdf->Cell(35, 5, 'E-mail:'); +$pdf->TextField('email', 50, 5); +$pdf->Ln(6); + +// Date of the day +$pdf->Cell(35, 5, 'Date:'); +$pdf->TextField('date', 30, 5, array(), array('v'=>date('Y-m-d'), 'dv'=>date('Y-m-d'))); +$pdf->Ln(10); + +$pdf->SetX(50); + +// Button to validate and print +$pdf->Button('print', 30, 10, 'Print', 'Print()', array('lineWidth'=>2, 'borderStyle'=>'beveled', 'fillColor'=>array(128, 196, 255), 'strokeColor'=>array(64, 64, 64))); + +// Reset Button +$pdf->Button('reset', 30, 10, 'Reset', array('S'=>'ResetForm'), array('lineWidth'=>2, 'borderStyle'=>'beveled', 'fillColor'=>array(128, 196, 255), 'strokeColor'=>array(64, 64, 64))); + +// Submit Button +$pdf->Button('submit', 30, 10, 'Submit', array('S'=>'SubmitForm', 'F'=>'http://localhost/printvars.php', 'Flags'=>array('ExportFormat')), array('lineWidth'=>2, 'borderStyle'=>'beveled', 'fillColor'=>array(128, 196, 255), 'strokeColor'=>array(64, 64, 64))); + +// Form validation functions +$js = <<<EOD +function CheckField(name,message) { + var f = getField(name); + if(f.value == '') { + app.alert(message); + f.setFocus(); + return false; + } + return true; +} +function Print() { + if(!CheckField('firstname','First name is mandatory')) {return;} + if(!CheckField('lastname','Last name is mandatory')) {return;} + if(!CheckField('gender','Gender is mandatory')) {return;} + if(!CheckField('address','Address is mandatory')) {return;} + print(); +} +EOD; + +// Add Javascript code +$pdf->IncludeJS($js); + +// --------------------------------------------------------- + +//Close and output PDF document +$pdf->Output('example_014.pdf', 'D'); + +//============================================================+ +// END OF FILE +//============================================================+ |
