Приведенный ниже код является образцом и работает (загружает pdf из файла, рисует одну строку, Success), однако, если я изменю invoice.pdf (пример pdf из учебника), чтобы my pdf, buyersguide.pdf Я получаю сообщение об ошибке firefox, файл не найден.Получающий «файл не найден» Zend PDF
<?php
header("Content-Type: application/x-pdf");
//header("Content-Disposition: attachment; filename=invoice-". date("Y-m-d-H-i") . ".pdf");
header("Cache-Control: no-cache, must-revalidate");
require_once 'zendframework/library/Zend/Loader/Autoloader.php';
//Zend_Loader::registerAutoload();
$loader = Zend_Loader_Autoloader::getInstance();
// load the invoice
$invoice = Zend_Pdf::load("invoice.pdf");
$page = $invoice->pages[0];
$font = Zend_Pdf_Font::fontWithName(Zend_Pdf_Font::FONT_TIMES_BOLD);
$page->setFont($font, 12);
// invoice information*/
$page->drawText('success ', 420,642);
// output the PDF
echo $invoice->render();
?>
код с файла изменился:
<?php
header("Content-Type: application/x-pdf");
//header("Content-Disposition: attachment; filename=invoice-". date("Y-m-d-H-i") . ".pdf");
header("Cache-Control: no-cache, must-revalidate");
require_once 'zendframework/library/Zend/Loader/Autoloader.php';
//Zend_Loader::registerAutoload();
$loader = Zend_Loader_Autoloader::getInstance();
// load the invoice
$invoice = Zend_Pdf::load("buyersguide.pdf");
$page = $invoice->pages[0];
$font = Zend_Pdf_Font::fontWithName(Zend_Pdf_Font::FONT_TIMES_BOLD);
$page->setFont($font, 12);
// invoice information*/
$page->drawText('success ', 420,642);
// output the PDF
echo $invoice->render();
?>
PDF для покупателей руководства взята из веб-сайте правительства. Обычно PDF загружается в Adobe Reader. Справочник покупателя PDF: http://www.consumer.ftc.gov/articles/pdf-0083-buyers-guide.pdf
Работал для меня с ZF 1.11.11. Попробуйте сохранить содержимое операции render() в файл и посмотреть, что произойдет. Если файл в порядке, попробуйте повторно установить заголовок, который вы закомментировали, и посмотреть, что произойдет. – JamesG
Проверено и все еще не работает. Вы используете руководство для покупателей pdf по ссылке? Я не уверен, как сохранить содержимое рендера в файл, я попытался: \t $ pdfString = $ invoice-> render(); \t $ handle = fopen ("$ filename- $ time.txt", "w"); \t fwrite ($ handle, $ pdfString); \t fclose ($ handle); Я также попытался сохранить файл pdf на своем сервере и проверить его, и он не работает вообще. Однако он отлично работает при сохранении демонстрации invoice.pdf – John
См. Мой обновленный ответ в моем ответе ниже. Надеюсь, это сработает для вас. – JamesG