Viewing file: businesscard.php (2.61 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php /* $Id: businesscard.php,v 1.5 2006/10/01 20:49:14 rjs Exp $ * * PDFlib client: businesscard example in PHP */
$infile = "boilerplate.pdf";
/* This is where font/image/PDF input files live. Adjust as necessary. * * Note that this directory must also contain the LuciduxSans font outline * and metrics files. */ $searchpath = "../data";
$data = array( "name" => "Victor Kraxi", "business.title" => "Chief Paper Officer", "business.address.line1" => "17, Aviation Road", "business.address.city" => "Paperfield", "business.telephone.voice" => "phone +1 234 567-89", "business.telephone.fax" => "fax +1 234 567-98", "business.email" => "victor@kraxi.com", "business.homepage" => "www.kraxi.com" );
try { $p = new PDFlib();
# This means we must check return values of load_font() etc. $p->set_parameter("errorpolicy", "return");
/* Set the search path for fonts and PDF files */ $p->set_parameter("SearchPath", $searchpath);
/* This line is required to avoid problems on Japanese systems */ $p->set_parameter("hypertextencoding", "winansi");
/* open new PDF file; insert a file name to create the PDF on disk */ if ($p->begin_document("", "") == 0) { die("Error: " . $p->get_errmsg()); }
$p->set_info("Creator", "businesscard.php"); $p->set_info("Author", "Thomas Merz"); $p->set_info("Title", "PDFlib block processing sample (PHP)");
$blockcontainer = $p->open_pdi($infile, "", 0); if ($blockcontainer == 0){ die ("Error: " . $p->get_errmsg()); }
$page = $p->open_pdi_page($blockcontainer, 1, ""); if ($page == 0){ die ("Error: " . $p->get_errmsg()); }
$p->begin_page_ext(20, 20, ""); /* dummy page size */
/* This will adjust the page size to the block container's size. */ $p->fit_pdi_page($page, 0, 0, "adjustpage");
/* Fill all text blocks with dynamic data */ foreach ($data as $key => $value){ if ($p->fill_textblock($page, $key, $value, "embedding encoding=winansi") == 0) { printf("Warning: %s\n ", $p->get_errmsg()); } }
$p->end_page_ext(""); $p->close_pdi_page($page);
$p->end_document(""); $p->close_pdi($blockcontainer);
$buf = $p->get_buffer(); $len = strlen($buf);
header("Content-type: application/pdf"); header("Content-Length: $len"); header("Content-Disposition: inline; filename=businesscard.pdf"); print $buf;
} catch (PDFlibException $e) { die("PDFlib exception occurred in businesscard sample:\n" . "[" . $e->get_errnum() . "] " . $e->get_apiname() . ": " . $e->get_errmsg() . "\n"); } catch (Exception $e) { die($e); }
$p = 0; ?>
|