Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- $outfilename = '';
- $input = 'input.pdf';
- try {
- $p = new PDFlib();
- $p->set_option('errorpolicy=return');
- #$p->set_option('usehostfonts=false'); // for Mac
- $p->set_option('stringformat=utf8');
- $p->set_option('searchpath={{' . dirname(__FILE__) . '/data' . '}}');
- $options = 'compatibility=1.7 masterpassword=service permissions={nohiresprint noassemble}';
- if ($p->begin_document($outfilename, $options) == 0) {
- die('Error: ' . $p->get_errmsg());
- }
- $p->set_info('Creator', 'pdf creator');
- $p->set_info('Title', 'pdf title');
- $font = $p->load_font('KozGoPro-Medium', 'unicode', 'embedding');
- if ($font == 0) {
- die('Error: ' . $p->get_errmsg());
- }
- {
- $indoc = $p->open_pdi_document($input, '');
- if ($indoc == 0) {
- echo 'Error: ' . $p->get_errmsg() . "\n";
- exit;
- }
- $endpage = $p->pcos_get_number($indoc, 'length:pages');
- for ($pageno=1; $pageno<=$endpage; $pageno++) {
- $page = $p->open_pdi_page($indoc, $pageno, '');
- if ($page == 0) {
- die('Error: ' . $p->get_errmsg());
- continue;
- }
- #$pageWidth = $p->pcos_get_number($indoc, 'pages[' . ($pageno - 1) . ']/width');
- $pageHeight = $p->pcos_get_number($indoc, 'pages[' . ($pageno - 1) . ']/height');
- // Dummy $page size; will be adjusted later
- $p->begin_page_ext(10, 10, '');
- // Create a bookmark with the file name
- if ($pageno == 1) {
- $p->create_bookmark($input, '');
- }
- $p->setfont($font, 13);
- $p->set_text_pos(0, $pageHeight - 13);
- $p->show('stamp on the page top');
- $p->fit_pdi_page($page, 0, 0, 'adjustpage');
- $p->close_pdi_page($page);
- $p->end_page_ext('');
- }
- $p->close_pdi_document($indoc);
- }
- $p->end_document('');
- $buf = $p->get_buffer();
- $len = strlen($buf);
- #header('Content-type: application/pdf');
- #header('Content-Length: '. $len);
- #header('Content-Disposition: inline; filename=output.pdf');
- #echo $buf;
- file_put_contents('output.pdf', $buf);
- }
- catch (Exception $e) {
- throw $e;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement