好的,所以这里是完整的代码,它一直给我关于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
答案 0 :(得分:1)
我建议改用http://www.fpdf.org/。它没有积极开发,但它有良好的文档和支持/跟踪。
答案 1 :(得分:1)
有PDF_add_bookmark但已被弃用,请说使用PDF_create_bookmark
答案 2 :(得分:1)
如果你想写PDF,最好的选择是TCPDF libray。看这里:http://www.tcpdf.org/。
正在积极开发中,有很多例子,效果很好。它也非常适合将HTML转换为PDF(这有时很有用,而且比使用PDF单元更麻烦)
答案 3 :(得分:0)
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之前是可选的。