PDFLib дает необработанную ошибку исключения - PullRequest
0 голосов
/ 15 июня 2009

Я пытаюсь получить поддержку PDFlib в PHP, но, наконец, выяснив, как установить PDFlib, я получаю эту ошибку:

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

Использование примера кода на 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);
?>

У кого-нибудь есть идеи относительно того, что может быть причиной этого? Я пытался погуглить, но я не смог найти никаких решений.

Ответы [ 4 ]

1 голос
/ 15 июня 2009

Какую версию PDFLib вы используете? Если это 6.0 или выше, попробуйте этот код:

<?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);
?>

Функции pdf_open_file, pdf_begin_page, pdf_findfont, and pdf_close устарели.

0 голосов
/ 20 марта 2015

Проверьте разрешение вашего местоположения вы проходите. Моя исправлена ​​тем же. Он должен иметь разрешение на запись.

chmod 0777 -R <PATH>

-R является рекурсивным

путь, безусловно, вы сохранили в

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

в $ pdf.

0 голосов
/ 10 мая 2011

Пожалуйста, проверьте путь, по которому вы создаете файл.

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

Просто убедитесь, что путь правильный и ошибка исчезнет.

0 голосов
/ 12 марта 2011

Или «сложным» и очень нехорошим способом - попробуйте переместить ваш код куда-нибудь в глобальную область видимости.

...