2015-07-17 11 views
1

Теперь я работаю над преобразованием html-файла в pdf в Zend Framework, я использую TCPDF для этого, следуя моему коду.Не удалось загрузить документ Pdf с помощью TCPDF

$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false); 
$view = new Zend_view(); 
$htmlcontent = $view->render('media-file.phtml'); 
$pdf->AddPage(); 
$pdf->writeHTML($htmlcontent, true, 0, true, 0); 
$pdf->lastPage(); 
$pdf->Output("single-page.pdf", 'D'); 

Проблема связана с загрузкой файла, но при открытии загруженного файла он показывает «Не удалось загрузить документ PDF». Я не знаю, где я ошибаюсь. Пожалуйста, дайте мне знать

+0

Добавьте 'error_Reporting (E_ALL);' в начало скрипта и TCPDF скажут вам, что вы делаете неправильно. Вероятно, это неподдерживаемый HTML внутри файла 'media-file.phtml' – MonkeyZeus

+0

Я пробовал, но все еще получаю только эту проблему. – user3668438

+0

Попробуйте открыть PDF с помощью Блокнота. Сообщения об ошибках могут входить в исходный код PDF, и ваш просмотрщик PDF не загружает документ. – MonkeyZeus

ответ

0

Есть много мест, где могут возникать проблемы.

Во-первых, является ли HTML действительным? TCPDF ожидает действительный HTML, обрабатывает только подмножество HTML, и все атрибуты HTML должны быть заключены в двойные кавычки, поэтому вы должны проверить все эти вещи, прежде чем идти дальше.

http://www.tcpdf.org/doc/code/classTCPDF.html#ac3fdf25fcd36f1dce04f92187c621407

Следующая является 'Не удалось загрузить PDF-документ' ошибка. Какое приложение действительно показывает эту ошибку? Проблема в том, что файл не был успешно загружен браузером или что ваш читатель PDF не смог его открыть?

Вместо отправки файла PDF в браузер попробуйте сохранить его в файл. Таким образом вы устраняете любые проблемы, которые могут возникать с браузером (а также любые проблемы, которые могут возникать при отправке блуждающих данных в браузер перед загрузкой).

После того, как вы пишете PDF непосредственно в файл, как сказал @MonkeyZeus, попробуйте открыть его в «Блокноте» или даже просто используя команду «head», если у вас есть возможность просмотреть первые несколько строк. Если не начать с чем-то вроде этого, то PDF не является действительным:

%PDF-1.7 

Если вы до сих пор не может решить эту проблему, было бы полезно, чтобы разместить ссылку на образец HTML, а также чтобы узнать, какую версию TCPDF вы используете. Установив высокий уровень ошибок PHP, как предлагалось @MonkeyZeus, включая любые сообщения об ошибках, также будет полезно.