--- a/tcpdf/examples/example_052.php +++ b/tcpdf/examples/example_052.php @@ -1,1 +1,116 @@ +<?php +//============================================================+ +// File name : example_052.php +// Begin : 2009-05-07 +// Last Update : 2010-08-08 +// +// Description : Example 052 for TCPDF class +// Certification Signature (experimental) +// +// Author: Nicola Asuni +// +// (c) Copyright: +// Nicola Asuni +// Tecnick.com s.r.l. +// Via Della Pace, 11 +// 09044 Quartucciu (CA) +// ITALY +// www.tecnick.com +// info@tecnick.com +//============================================================+ +/** + * Creates an example PDF TEST document using TCPDF + * @package com.tecnick.tcpdf + * @abstract TCPDF - Example: Certification Signature (experimental) + * @author Nicola Asuni + * @since 2009-05-07 + */ + +require_once('../config/lang/eng.php'); +require_once('../tcpdf.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 052'); +$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.' 052', 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 +$pdf->setLanguageArray($l); + +// --------------------------------------------------------- + +/* +NOTES: + - To create self-signed signature: openssl req -x509 -nodes -days 365000 -newkey rsa:1024 -keyout tcpdf.crt -out tcpdf.crt + - To export crt to p12: openssl pkcs12 -export -in tcpdf.crt -out tcpdf.p12 + - To convert pfx certificate to pem: openssl pkcs12 -in tcpdf.pfx -out tcpdf.crt -nodes +*/ + +// set certificate file +$certificate = 'file://../tcpdf.crt'; + +// set additional information +$info = array( + 'Name' => 'TCPDF', + 'Location' => 'Office', + 'Reason' => 'Testing TCPDF', + 'ContactInfo' => 'http://www.tcpdf.org', + ); + +// set document signature +$pdf->setSignature($certificate, $certificate, 'tcpdfdemo', '', 2, $info); + +// set font +$pdf->SetFont('helvetica', '', 12); + +// add a page +$pdf->AddPage(); + +// print a line of text +$text = 'This is a <b color="#FF0000">digitally signed document</b> using the default (example) <b>tcpdf.crt</b> certificate.<br />To validate this signature you have to load the <b color="#006600">tcpdf.fdf</b> on the Arobat Reader to add the certificate to <i>List of Trusted Identities</i>.<br /><br />For more information check the source code of this example and the source code documentation for the <i>setSignature()</i> method.<br /><br /><a href="http://www.tcpdf.org">www.tcpdf.org</a>'; +$pdf->writeHTML($text, true, 0, true, 0); + + +// *** set signature appearance *** + +// create content for signature (image and/or text) +$pdf->Image($file='../images/tcpdf_signature.png', $x=180, $y=60, $w=15, $h=15, $type='PNG'); +// define active area for signature appearance +$pdf->setSignatureAppearance($x=180, $y=60, $w=15, $h=15); + +// --------------------------------------------------------- + +//Close and output PDF document +$pdf->Output('example_052.pdf', 'I'); + +//============================================================+ +// END OF FILE +//============================================================+ +