技术开发 频道

使用PHP创建和修改PDF文档

  【IT168 文档】PDF全称Portable Document Format,译为可移植文档格式,是Adobe公司推出的便携文档格式。PDF具有与操作系统无关的特性,这一性能使它成为在Internet上进行电子文档发行和数字化信息传播的理想文档格式。今天我们来讨论如何使用PHP创建PDF文档,以及使用PHP修改PDF。

  要想在PHP中使用PDF文档,我们需要用到TCPDF包,一个PHP用来读取PDF的类。

  PHP创建PDF文档

  你可以从下面给出的链接下载TCPDF包。

  TCPDF - PHP class for PDF:http://sourceforge.net/projects/tcpdf/files/

  这是一个免费且易用的插件包,下面我们给出一些示例来演示如何使用TCPDF包。

  示例一:使用PHP生成一个简单的PDF文档

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 002');
  
$pdf->SetSubject('TCPDF Tutorial');
  
$pdf->SetKeywords('TCPDF, PDF, example, test, guide');
  
// remove default header/footer
  $pdf->setPrintHeader(false);
  
$pdf->setPrintFooter(false);
  
// set default monospaced font
  $pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);
  
//set margins
  $pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);
  
//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);
  
// ---------------------------------------------------------
   // set font

  $pdf->SetFont('times', 'BI', 20);
  
// add a page
  $pdf->AddPage();
  
// print a line using Cell()
  $pdf->Cell(0, 10, 'Example 002', 1, 1, 'C');
  
// ---------------------------------------------------------
   //Close and output PDF document

  $pdf->Output('example_002.pdf', 'I');  ?>

  使用PHP修改PDF文档

  下面我们讨论如何使用PHP修改PDF文档。假设我们需要将一张图片通过PHP程序加入到PDF中,示例代码如下:

  示例二:使用PHP在PDF中增加一张图片

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 009');
  
$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, 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);
    
// ---------------------------------------------------------
   // add a page

  $pdf->AddPage();
  
// set JPEG quality
  $pdf->setJPEGQuality(75);
  
// Image example
  $pdf->Image('../images/image_demo.jpg', 50, 50, 100, 150, '', 'http://www.tcpdf.org', '', true, 150);
  
// ---------------------------------------------------------
  //Close and output PDF document

  $pdf->Output('example_009.pdf', 'I');  ?>

   更多关于TCPDF - PHP class for PDF的示例可以参考:

  http://www.tecnick.com/public/code/cp_dpage.php?aiocp_dp=tcpdf_examples

  同时,你也可以使用TCPDF的基础属性进行PDF文档的管理。如果你想自己开发一个PHP的PDF文档类,可以参考PHP文档中关于PDF的一些函数介绍:http://www.php.net/manual/en/ref.pdf.php

0
相关文章