开发者

PHP PDF function errors

Ok so here is the full code it keeps giving me crap about pdf_add_bookmark function while PHP's website has no documentation on this function any more

<?php

     // Declare PDF File

     $pdf = pdf_new();
     PDF_open_file($pdf, "1.pdf");

     // Set Document Properties

     PDF_set_info($pdf, "author", "BT");
     PDF_set_info($pdf, "title", "Whats a title?");
     PDF_set_info($pdf, "creator", "BT");
     PDF_set_info($pdf, "subject", "Whats a subject?");

     // Get fonts to use

     pdf_set_parameter($pdf, "FontOutline", "Arial=C:\Windows\Fonts\arial.ttf"); // get a custom font
     $font1 = PDF_findfont($pdf, "Helvetica-Bold",  "winansi", 0); // declare default font
     $font2 = PDF_findfont($pdf, "Arial",  "winansi", 1); // declare custom font & embed into file

     /*
     You can use the following Fontypes 14 safely (the default fonts)
     Courier, Courier-Bold, Courier-Oblique, Courier-BoldOblique 
     Helvetica, Helvetica-Bold, Helvetica-Oblique, Helvetica-BoldOblique 
     Times-Roman, Times-Bold, Times-Italic, Times-BoldItalic 
     Symbol, ZapfDingbats
     */

     // make the images

     $image1 = PDF_open_image_file($pdf, "jpeg", "424698.jpg","page",$page); //supported filetypes are: jpeg, tiff, gif, png.

     //Make First Page

     PDF_begin_page($pdf, 450, 450); // page width and height.
     $bookmark = PDF_add_bookmark($pdf, "Front"); // add a top level bookmark.
     PDF_setfont($pdf, $font1, 12); // use this font from now on.
     PDF_show_xy($pdf, "First Page!", 5, 22开发者_如何学Go5); // show this text measured from the left top.
     pdf_place_image($pdf, $image1, 255, 5, 1); // last number will schale it.
     PDF_end_page($pdf); // End of Page.

     //Make Second Page

     PDF_begin_page($pdf, 450, 225); // page width and height.
     $bookmark1 = PDF_add_bookmark($pdf, "Chapter1", $bookmark); // add a nested bookmark. (can be nested multiple times.)
     PDF_setfont($pdf, $font2, 12); // use this font from now on.
     PDF_show_xy($pdf, "Chapter1!", 225, 5);
     PDF_add_bookmark($pdf, "Chapter1.1", $bookmark1); // add a nested bookmark (already in a nested one).
     PDF_setfont($pdf, $font1, 12);
     PDF_show_xy($pdf, "Chapter1.1", 225, 5);
     PDF_end_page($pdf);

     // Finish the PDF File

     PDF_close($pdf); // End Of PDF-File.
     $output = PDF_get_buffer($pdf); // assemble the file in a variable.

     // Output Area

     header("Content-type: application/pdf"); //set filetype to pdf.
     header("Content-Length: ".strlen($output)); //content length
     header("Content-Disposition: attachment; filename=test.pdf"); // you can use inline or attachment.
     echo $output; // actual print area!

     // Cleanup

     PDF_delete($pdf); 
?>

here is the error code returned

Fatal error: Uncaught exception 'PDFlibException' with message 'pdf_add_bookmark() expects exactly 4 parameters, 2 given' in D:\wamp\www\PDF\pdf.php:36 Stack trace: #0 D:\wamp\www\PDF\pdf.php(36): pdf_add_bookmark(Resource id #2, 'Front') #1 {main} thrown in D:\wamp\www\PDF\pdf.php on line 36


the best option if you want to write PDF is TCPDF libray. Look here: http://www.tcpdf.org/.

It is under active development, has a lot of examples and works great. It also works very well for converting HTML to PDF (which is sometimes useful and less of an hassle than using PDF cells)


I would recommend using http://www.fpdf.org/ instead. It isn't under active development but it has good documentation and support/following.


There is PDF_add_bookmark but is deprecated and it said please use PDF_create_bookmark


int pdf_add_bookmark ( resource pdfdoc, string text, int parent, int open )

Add a nested bookmark under parent, or a new top-level bookmark if parent = 0. Returns a bookmark descriptor which may be used as parent for subsequent nested bookmarks. If open = 1, child bookmarks will be folded out, and invisible if open = 0. Parameters parent and open are optional before PHP 4.3.5 or with PDFlib less than 5.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜