PDFLib giving an uncaught exception error

十年热恋 提交于 2019-12-24 21:17:36

问题


I'm trying to get PDFlib support into PHP, but after finally figuring out how to install PDFlib, I get this error:

Fatal error: Uncaught exception 'PDFlibException' with message 'Function must not be called in 'object' scope'

Using the example code on php.net:

<?php
// create handle for new PDF document
$pdf = pdf_new();
// open a file
pdf_open_file($pdf, "test.pdf");
// start a new page (A4)
pdf_begin_page($pdf, 595, 842);
// get and use a font object
$arial = pdf_findfont($pdf, "Arial", "host", 1); pdf_setfont($pdf, $arial, 10);
// print text
pdf_show_xy($pdf, "There are more things in heaven and earth, Horatio,",50, 750);
pdf_show_xy($pdf, "than are dreamt of in your philosophy", 50,730);
// end page
pdf_end_page($pdf);
// close and save file
pdf_close($pdf);
?>

Does anyone have any ideas as to what could be causing this? I've tried googling around, but I've been unable to find any solutions.


回答1:


What version of PDFLib are you using? If it's 6.0 or greater, try this code:

<?php
// create handle for new PDF document
$pdf = PDF_new();
// open a file
PDF_begin_document($pdf, "test.pdf");
// start a new page (A4)
PDF_begin_page_ext($pdf, 595, 842);
// get and use a font object
$arial = PDF_load_font($pdf, "Arial", "host", 1); pdf_setfont($pdf, $arial, 10);
// print text
PDF_show_xy($pdf, "There are more things in heaven and earth, Horatio,",50, 750);
PDF_show_xy($pdf, "than are dreamt of in your philosophy", 50,730);
// end page
PDF_end_page_exit($pdf);
// close and save file
PDF_end_document($pdf);
?>

The functions pdf_open_file, pdf_begin_page, pdf_findfont, and pdf_close are all deprecated.




回答2:


Or in "hard" and very not nice way - try moving your code somewhere to global scope.




回答3:


Please check the path where you are creating file.

pdf_open_file($pdf, "test.pdf");

Just ensure that the path is proper and error will gone away.




回答4:


Check for permission of your location you are passing. Mine is fixed with doing the same. It should have write permission.

chmod 0777 -R <PATH>

-R is recursive

path is certainly you stored in

pdf_open_file($pdf, "test.pdf");

in $pdf.



来源:https://stackoverflow.com/questions/997627/pdflib-giving-an-uncaught-exception-error

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!