cxg518 发表于 2017-4-7 09:31:45

Creating PDF documents with PHP in 10 steps

  Step 1 - Install the PDFlib extension
  PDFlibis not included with the default PHP 5.3 distribution, so you will haveto install it. Download the PHP version of the PHPlib library from here.
  The Windows build of PHP 5 comes in many different varieties. I'll assume that you are using the VC9 non-thread safe build, and that you have installed PHP to the default location.
  Extract the libpdf_php.dllfile from the PDFlib-7.0.4p6-MSWin32-php\bind\php5\php-530-nozts_VS9\directory in the PHPlib zip file to C:\Program Files\PHP\ext.
  Then add the following two lines to the PHP.inifile located in C:\Program Files\PHP:
  
  extension=libpdf_php.dll

<!-- AD_PLACEHOLDER_4-->Step 2 - Create the PDF document
  Open up a new try block, create a new PDFlib instance, and then start a new PDF document by calling begin_document.
  try {
$pdf=new PDFlib();
if(!$pdf->begin_document("",""))
{
throw new PDFlibException("Error creating PDF document. ".$pdf->get_errmsg());
}

<!-- AD_PLACEHOLDER_5-->Step 3 - Set the PDF properties
  The set_infofunction allows you set some optional document properties. Here we define the author and title of the PDF document.
  $pdf->set_info("Author","Matthew Casperson");
  $pdf->set_info("Title","Create a PDF document with PHP");

<!-- AD_PLACEHOLDER_6--><!-- AD_PLACEHOLDER_7-->Step 4 - Create a new page
  The begin_page_ext functionis called to start a new page in the PDF document. Here we havespecified the page to have dimensions of 595 x 842 points, making it anA4 page.
  $pdf->begin_page_ext(595,842,"");
  Other common page sizes (in points) are:
  a4595 x 842
  a5421 x 595
  a6297 x 421
  letter612 x 792
  legal612 x 1008
  ledger1224 x 792
  11x17792 x 1224

<!-- AD_PLACEHOLDER_8-->Step 5 - Prepare a font
  To print any text to the PDF document we first need to prepare the font that will be used. The load_fontfunction takes a locally installed font and prepares it for use with PDFlib. The setfontfunction specifies that we will be using this font when writing text.
  $font=$pdf->load_font("Helvetica-Bold","winansi","");
  $pdf->setfont($font,24.0);

<!-- AD_PLACEHOLDER_9-->Step 6 - Write some text
  Using the set_text_posand showfunctions we can write some text to the PDF document at the specified location.
  $pdf->set_text_pos(50,800);
  $pdf->show("Hello World");

<!-- AD_PLACEHOLDER_10-->Step 7 - End the page
  The end_page_extfunction ends the page that we started in step 4.
  $pdf->end_page_ext("");

<!-- AD_PLACEHOLDER_11-->Step 8 - End the document
  The end_document function ends the PDF document we started in step 2.
  $pdf->end_document("");

<!-- AD_PLACEHOLDER_12-->Step 9 - Send the PDF document
  Typicallya PHP script is used to send a HTML document. In this case we need tooverride this default behaviour to tell the recieving browser that itis about to recieve a PDF document. The following code creates the HTTPheaders required to identify the data being sent as a PDF document,which will cause the browser to open up Adobe Reader (or the defaultPDF application) when the data is transmitted.
  $buffer=$pdf->get_buffer();
  $len=strlen($buffer);
  header("Content-type: application/pdf");
  header("Content-Length: $len");
  header("Content-Disposition: inline; filename=example.pdf");
  echo $buffer;

<!-- AD_PLACEHOLDER_13-->Step 10 - Deal with any errors
  The try block is closed, and a catch block is created. If there were any errors creating the PDF document, the user is notified.
  }
  catch (PDFlibException $e)
  {
echo 'Error Number:'.$e->get_errnum()."n";
echo 'Error Message:'.$e->get_errmsg();
  }

<!-- AD_PLACEHOLDER_14-->Conclusion
  PDFlibmakes creating PDF documents a breeze. You could extend this example toallow users to download pre-filled PDF documents, or to create PDFversions of a web page for easy printing.
页: [1]
查看完整版本: Creating PDF documents with PHP in 10 steps