Viewing file: quickreference.php (2.56 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php /* $Id: quickreference.php,v 1.6.2.1 2008/04/06 17:55:03 rp Exp $ * * PDFlib+PDI client: mini imposition demo */
$infile = "reference.pdf"; /* This is where font/image/PDF input files live. Adjust as necessary. */ $searchpath = "../data"; $maxrow = 2; $maxcol = 2; $width = 500.0; $height = 770.0; $endpage = 0;
try { $p = new PDFlib();
# This means we must check return values of load_font() etc. $p->set_parameter("errorpolicy", "return");
$p->set_parameter("SearchPath", $searchpath);
/* open new PDF file; insert a file name to create the PDF on disk */ if ($p->begin_document("", "") == 0) { die("Error: " . $p->get_errmsg()); }
/* This line is required to avoid problems on Japanese systems */ $p->set_parameter("hypertextencoding", "winansi");
$p->set_info("Creator", "quickreference.php"); $p->set_info("Author", "Thomas Merz"); $p->set_info("Title", "mini imposition demo (php)");
$manual = $p->open_pdi($infile, "", 0); if (!$manual) { die("Error: " . $p->get_errmsg()); }
$row = 0; $col = 0;
$p->set_parameter("topdown", "true");
$endpage = $p->pcos_get_number($manual, "length:pages");
for ($pageno = 1; $pageno <= $endpage; $pageno++) { if ($row == 0 && $col == 0) { $p->begin_page_ext($width, $height, ""); $font = $p->load_font("Helvetica-Bold", "winansi", ""); if ($font == 0) { die("Error: " . $p->get_errmsg()); } $p->setfont($font, 18); $p->set_text_pos(24, 24); $p->show("PDFlib Quick Reference"); }
$page = $p->open_pdi_page($manual, $pageno, "");
if (!$page) { die("Error: " . $p->get_errmsg()); }
$optlist = sprintf("scale %f", 1/$maxrow);
$p->fit_pdi_page($page, $width/$maxcol*$col, ($row + 1) * $height/$maxrow, $optlist); $p->close_pdi_page($page);
$col++; if ($col == $maxcol) { $col = 0; $row++; } if ($row == $maxrow) { $row = 0; $p->end_page_ext(""); } }
/* finish the last partial page */ if ($row != 0 || $col != 0) { $p->end_page_ext(""); }
$p->end_document(""); $p->close_pdi($manual);
$buf = $p->get_buffer(); $len = strlen($buf);
header("Content-type: application/pdf"); header("Content-Length: $len"); header("Content-Disposition: inline; filename=quickreference_php.pdf"); print $buf;
} catch (PDFlibException $e) { die("PDFlib exception occurred in quickreference sample:\n" . "[" . $e->get_errnum() . "] " . $e->get_apiname() . ": " . $e->get_errmsg() . "\n"); } catch (Exception $e) { die($e); }
$p = 0; ?>
|