Home >Backend Development >PHP Tutorial >Create and modify PDF documents using PHP_PHP Tutorial
[php100 translation] The full name of PDF is Portable Document Format, which is translated as Portable Document Format. It is a portable document format launched by Adobe. PDF has the characteristics of being independent of the operating system, which makes it an ideal document format for electronic document distribution and digital information dissemination on the Internet. Today we will discuss how to create PDF documents using PHP and modify PDF using PHP.
To use PDF documents in PHP, we need to use the TCPDF package, a class used by PHP to read PDF.
Create PDF document with PHP
You can download the TCPDF package from the link given below.
TCPDF - PHP class for PDF: http://sourceforge.net/projects/tcpdf/files/
This is a free and easy-to-use plug-in package, Below we give some examples to demonstrate how to use the TCPDF package.
Example 1: Use PHP to generate a simple PDF document
<ol class="dp-c"><li class="alt"><span><span><?php </SPAN></span><li><span> </span></li> <li class="alt"> <span class="keyword">require_once</span><span>(</span><span class="string">'../config/lang/eng.php'</span><span>); </span> </li> <li> <span class="keyword">require_once</span><span>(</span><span class="string">'../tcpdf.php'</span><span>); </span> </li> <li class="alt"><span> </span></li> <li> <span class="comment">// create new PDF document </span><span> </span> </li> <li class="alt"> <span class="vars">$pdf</span><span> = </span><span class="keyword">new</span><span> TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, </span><span class="string">'UTF-8'</span><span>, false); </span> </li> <li><span> </span></li> <li class="alt"> <span class="comment">// set document information </span><span> </span> </li> <li> <span class="vars">$pdf</span><span>->SetCreator(PDF_CREATOR); </span> </li> <li class="alt"> <span class="vars">$pdf</span><span>->SetAuthor(</span><span class="string">'Nicola Asuni'</span><span>); </span> </li> <li> <span class="vars">$pdf</span><span>->SetTitle(</span><span class="string">'TCPDF Example 002'</span><span>); </span> </li> <li class="alt"> <span class="vars">$pdf</span><span>->SetSubject(</span><span class="string">'TCPDF Tutorial'</span><span>); </span> </li> <li> <span class="vars">$pdf</span><span>->SetKeywords(</span><span class="string">'TCPDF, PDF, example, test, guide'</span><span>); </span> </li> <li class="alt"><span> </span></li> <li> <span class="comment">// remove default header/footer </span><span> </span> </li> <li class="alt"> <span class="vars">$pdf</span><span>->setPrintHeader(false); </span> </li> <li> <span class="vars">$pdf</span><span>->setPrintFooter(false); </span> </li> <li class="alt"><span> </span></li> <li> <span class="comment">// set default monospaced font </span><span> </span> </li> <li class="alt"> <span class="vars">$pdf</span><span>->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED); </span> </li> <li><span> </span></li> <li class="alt"> <span class="comment">//set margins </span><span> </span> </li> <li> <span class="vars">$pdf</span><span>->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT); </span> </li> <li class="alt"><span> </span></li> <li> <span class="comment">//set auto page breaks </span><span> </span> </li> <li class="alt"> <span class="vars">$pdf</span><span>->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM); </span> </li> <li><span> </span></li> <li class="alt"> <span class="comment">//set image scale factor </span><span> </span> </li> <li> <span class="vars">$pdf</span><span>->setImageScale(PDF_IMAGE_SCALE_RATIO); </span> </li> <li class="alt"><span> </span></li> <li> <span class="comment">//set some language-dependent strings </span><span> </span> </li> <li class="alt"> <span class="vars">$pdf</span><span>->setLanguageArray(</span><span class="vars">$l</span><span>); </span> </li> <li><span> </span></li> <li class="alt"> <span class="comment">// --------------------------------------------------------- </span><span> </span> </li> <li><span> </span></li> <li class="alt"> <span class="comment">// set font </span><span> </span> </li> <li> <span class="vars">$pdf</span><span>->SetFont(</span><span class="string">'times'</span><span>, </span><span class="string">'BI'</span><span>, 20); </span> </li> <li class="alt"><span> </span></li> <li> <span class="comment">// add a page </span><span> </span> </li> <li class="alt"> <span class="vars">$pdf</span><span>->AddPage(); </span> </li> <li><span> </span></li> <li class="alt"> <span class="comment">// print a line using Cell() </span><span> </span> </li> <li> <span class="vars">$pdf</span><span>->Cell(0, 10, </span><span class="string">'Example 002'</span><span>, 1, 1, </span><span class="string">'C'</span><span>); </span> </li> <li class="alt"><span> </span></li> <li> <span class="comment">// --------------------------------------------------------- </span><span> </span> </li> <li class="alt"><span> </span></li> <li> <span class="comment">//Close and output PDF document </span><span> </span> </li> <li class="alt"> <span class="vars">$pdf</span><span>->Output(</span><span class="string">'example_002.pdf'</span><span>, </span><span class="string">'I'</span><span>); </span> </li> <li><span>?> </span></li></span></li></ol>
Use PHP to modify a PDF document
Let’s discuss how to use PHP to modify it PDF document. Suppose we need to add a picture to PDF through a PHP program. The sample code is as follows:
Example 2: Use PHP to add a picture to PDF
<ol class="dp-c"><li class="alt"><span><span><?php </SPAN></span><li> <span class="keyword">require_once</span><span>(</span><span class="string">'../config/lang/eng.php'</span><span>); </span> </li> <li class="alt"> <span class="keyword">require_once</span><span>(</span><span class="string">'../tcpdf.php'</span><span>); </span> </li> <li><span> </span></li> <li class="alt"> <span class="comment">// create new PDF document </span><span> </span> </li> <li> <span class="vars">$pdf</span><span> = </span><span class="keyword">new</span><span> TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, </span><span class="string">'UTF-8'</span><span>, false); </span> </li> <li class="alt"><span> </span></li> <li> <span class="comment">// set document information </span><span> </span> </li> <li class="alt"> <span class="vars">$pdf</span><span>->SetCreator(PDF_CREATOR); </span> </li> <li> <span class="vars">$pdf</span><span>->SetAuthor(</span><span class="string">'Nicola Asuni'</span><span>); </span> </li> <li class="alt"> <span class="vars">$pdf</span><span>->SetTitle(</span><span class="string">'TCPDF Example 009'</span><span>); </span> </li> <li> <span class="vars">$pdf</span><span>->SetSubject(</span><span class="string">'TCPDF Tutorial'</span><span>); </span> </li> <li class="alt"> <span class="vars">$pdf</span><span>->SetKeywords(</span><span class="string">'TCPDF, PDF, example, test, guide'</span><span>); </span> </li> <li><span> </span></li> <li class="alt"> <span class="comment">// set default header data </span><span> </span> </li> <li> <span class="vars">$pdf</span><span>->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE, PDF_HEADER_STRING); </span> </li> <li class="alt"><span> </span></li> <li> <span class="comment">// set header and footer fonts </span><span> </span> </li> <li class="alt"> <span class="vars">$pdf</span><span>->setHeaderFont(Array(PDF_FONT_NAME_MAIN, </span><span class="string">''</span><span>, PDF_FONT_SIZE_MAIN)); </span> </li> <li> <span class="vars">$pdf</span><span>->setFooterFont(Array(PDF_FONT_NAME_DATA, </span><span class="string">''</span><span>, PDF_FONT_SIZE_DATA)); </span> </li> <li class="alt"><span> </span></li> <li> <span class="comment">// set default monospaced font </span><span> </span> </li> <li class="alt"> <span class="vars">$pdf</span><span>->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED); </span> </li> <li><span> </span></li> <li class="alt"> <span class="comment">//set margins </span><span> </span> </li> <li> <span class="vars">$pdf</span><span>->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT); </span> </li> <li class="alt"> <span class="vars">$pdf</span><span>->SetHeaderMargin(PDF_MARGIN_HEADER); </span> </li> <li> <span class="vars">$pdf</span><span>->SetFooterMargin(PDF_MARGIN_FOOTER); </span> </li> <li class="alt"><span> </span></li> <li> <span class="comment">//set auto page breaks </span><span> </span> </li> <li class="alt"> <span class="vars">$pdf</span><span>->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM); </span> </li> <li><span> </span></li> <li class="alt"> <span class="comment">//set image scale factor </span><span> </span> </li> <li> <span class="vars">$pdf</span><span>->setImageScale(PDF_IMAGE_SCALE_RATIO); </span> </li> <li class="alt"><span> </span></li> <li> <span class="comment">//set some language-dependent strings </span><span> </span> </li> <li class="alt"> <span class="vars">$pdf</span><span>->setLanguageArray(</span><span class="vars">$l</span><span>); </span> </li> <li><span> </span></li> <li class="alt"> <span class="comment">// --------------------------------------------------------- </span><span> </span> </li> <li><span> </span></li> <li class="alt"> <span class="comment">// add a page </span><span> </span> </li> <li> <span class="vars">$pdf</span><span>->AddPage(); </span> </li> <li class="alt"><span> </span></li> <li> <span class="comment">// set JPEG quality </span><span> </span> </li> <li class="alt"> <span class="vars">$pdf</span><span>->setJPEGQuality(75); </span> </li> <li><span> </span></li> <li class="alt"> <span class="comment">// Image example </span><span> </span> </li> <li> <span class="vars">$pdf</span><span>->Image(</span><span class="string">'../images/image_demo.jpg'</span><span>, 50, 50, 100, 150, </span><span class="string">''</span><span>, </span><span class="string">'http://www.tcpdf.org'</span><span>, </span><span class="string">''</span><span>, true, 150); </span> </li> <li class="alt"><span> </span></li> <li> <span class="comment">// --------------------------------------------------------- </span><span> </span> </li> <li class="alt"><span> </span></li> <li> <span class="comment">//Close and output PDF document </span><span> </span> </li> <li class="alt"> <span class="vars">$pdf</span><span>->Output(</span><span class="string">'example_009.pdf'</span><span>, </span><span class="string">'I'</span><span>); </span> </li> <li><span>?> </span></li></span></li></ol>
http://www.tecnick.com/public/code/cp_dpage.php?aiocp_dp =tcpdf_examples
At the same time, you can also use the basic properties of TCPDF to manage PDF documents. If you want to develop a PHP PDF document class yourself, you can refer to some function introductions about PDF in the PHP documentation: http://www.php.net/manual/en/ref.pdf.php