This is just the dot-leader example from PDFlib site converted to a working PHP example.
# PHP-PDF-to-browser example of dot_leaders_with_tabs
# [currently in PDFlib Cookbook in Java only]
$file_name = "blog_11.pdf";
# number reflect an A4 sized document.
$doc_width = 595;
$doc_height = 842;
#
try{
$p = new PDFlib();
$p->set_parameter("logging", "filename {PDFlib.log}");
$p->set_parameter("errorpolicy", "exception");
# set textformat
$p->set_parameter("textformat", "utf8");
#
$optlist = "";
if ($p->begin_document("", $optlist) == 0)
throw new Exception("Error@begin_document: " . $p->get_errmsg());
# add some meta data on file
$p->set_info("Creator", "Neil Lindberg");
$p->set_info("Title", "dot-leaders-with-tabs");
# loading font (that most will have)
$font = $p->load_font("Helvetica", "unicode", "");
// if ($p->setfont($font, 12) == 0)
// throw new Exception("Error@setfont: " . $p->get_errmsg());
# add the toc page(s)
$optlist = "fontname=Helvetica fontsize=12 ".
"encoding=unicode leading=160% ruler=100% ".
"hortabmethod=ruler tabalignment=right";
$text = "Introduction ".
"\t7".
"Chapter 1 ".
"\t25".
"Chapter 2 ".
"\t107".
"Chapter 3 ".
"\t219".
"Appendix \t240";
$text_flow = $p->create_textflow($text, $optlist);
do{
$p->begin_page_ext($doc_width, $doc_height, "");
$p->setfont($font, 12);
$p->fit_textline("Table of Contents", 50, 740, "");
$p->fit_textflow($text_flow, 50, 600, 500, 700, "");
$p->end_page_ext("");
} while($result == "_boxfull" || $result == "_nextpage");
#
$p->end_document("");
# get and send buffer
$buf = $p->get_buffer();
$len = strlen($buf);
header("Content-type: application/pdf");
header("Content-Length: $len");
header("Content-Disposition: inline; filename=$file_name");
print $buf;
} catch (PDFlibException $e) {
die("PDFlib exception occurred:\n".
"[" . $e->get_errnum() . "] " . $e->get_apiname() .
": " . $e->get_errmsg() . "\n");
} catch (Exception $e) {
die($e->getMessage());
}
No comments:
Post a Comment