Ошибки PHP в функции PDF - PullRequest
0 голосов
/ 07 июня 2011

Хорошо, вот полный код, который дает мне дерьмо о функции pdf_add_bookmark, в то время как на сайте PHP больше нет документации по этой функции

<?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, 225); // 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); 
?>

вот код ошибки, возвращенный

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

Ответы [ 4 ]

1 голос
/ 07 июня 2011

Существует PDF_add_bookmark , но устарело, и было сказано, пожалуйста, используйте PDF_create_bookmark

1 голос
/ 07 июня 2011

лучший вариант, если вы хотите написать PDF - это библиотека TCPDF.Смотрите здесь: http://www.tcpdf.org/.

Он находится в стадии активной разработки, имеет много примеров и прекрасно работает.Он также очень хорошо работает для преобразования HTML в PDF (что иногда полезно и менее хлопотно, чем использование ячеек PDF)

1 голос
/ 07 июня 2011

Я бы рекомендовал вместо этого использовать http://www.fpdf.org/.Он не находится в активной разработке, но имеет хорошую документацию и поддержку / подписку.

0 голосов
/ 07 июня 2011
int pdf_add_bookmark ( resource pdfdoc, string text, int parent, int open )

Добавить вложенную закладку под родительским элементом или новую закладку верхнего уровня, если parent = 0. Возвращает дескриптор закладки, который можно использовать в качестве родительского для последующих вложенных закладок. Если open = 1, дочерние закладки будут свернуты и невидимы, если open = 0. Параметры parent и open являются необязательными до PHP 4.3.5 или с PDFlib меньше 5.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...