使用php创建PDF文档时出错

时间:2012-11-15 05:49:26

标签: php pdf

我从电子书o'oreilly编程PHP中获得了关于创建pdf文档的代码 我在Windows 7上运行wamp服务器并启用了PDFLIB

    $pdf = pdf_new();
    pdf_open_file($pdf);
    pdf_set_info($pdf,'Creator','hello.php');
    pdf_set_info($pdf,'Author','Rasmus Lerdorf');
    pdf_set_info($pdf,'Title','Hello world (PHP)');
    pdf_begin_page($pdf,612,792);
    $font = pdf_findfont($pdf,'Helvetica-Bold','host',0);
    pdf_setfont($pdf,$font,38.0);
    pdf_show_xy($pdf,'Hello world!',50,700);
    pdf_end_page($pdf);
    pdf_set_parameter($pdf, "openaction", "fitpage");
    pdf_close($pdf);
    $buf = pdf_get_buffer($pdf);
    $len = strlen($buf);
    header('Content-Type: application/pdf');
    header("Content-Length: $len");
    header('Content-Disposition: inline; filename=hello.pdf');
    echo $buf;
    pdf_delete($pdf);

但是当我运行它时,我收到错误

    Fatal error: Uncaught exception 'PDFlibException' with message 'pdf_open_file() expects exactly 2 parameters, 1 given' in C:\wamp\www\phpPdf\index.php:3 Stack trace: #0 C:\wamp\www\phpPdf\index.php(3): pdf_open_file(Resource id #2) #1 {main} thrown in C:\wamp\www\phpPdf\index.php on line 3

1 个答案:

答案 0 :(得分:1)

错误消息的含义正是它所说的:“pdf_open_file()正好需要2个参数,1给出”

您需要为其指定一个文件名作为第二个参数。

请参阅:http://php.net/manual/en/function.pdf-open-file.php

除此之外,文档还指出pdf_open_file是一个已弃用的函数,因此您应该使用:http://www.php.net/manual/en/function.pdf-begin-document.php