@Exterrium

Пустой экран при использовании dompdf: кто сталкивался?

Пробую сгенерировать PDF из HTML при помощи dompdf, однако при запуске скрипта вижу в браузере пустую страницу. Вывод ошибок включен, но ничего не выводится.

Вот сам код (использую пример из readme):
require_once '/var/www/tools/dompdf/autoload.inc.php';
use Dompdf\Dompdf;
$dompdf = new Dompdf();
$dompdf->loadHtml('hello world');
$dompdf->setPaper('A4', 'landscape');
$dompdf->render();
$dompdf->stream();


Пробовал так - безрезультатно. В браузере пустая страница, файл на сервере не создается.
$dompdf->stream('/var/www/hello.pdf');

Добавлял такую строчку, но видимых изменений не произошло:
$dompdf->set_option('isHtml5ParserEnabled', true);

В общем, не вижу ни одной зацепки. Буду очень благодарен любому совету!
  • Вопрос задан
  • 1355 просмотров
Пригласить эксперта
Ответы на вопрос 2
webinar
@webinar Куратор тега PHP
Учим yii: https://youtu.be/-WRMlGHLgRg
Вот доки https://github.com/dompdf/dompdf/wiki/Usage в них однозначно сказано:
Loads an HTML string. Parse errors are stored in the global array $_dompdf_warnings.

Возникает вопрос: "Что у Вас в $_dompdf_warnings?"
А так же что у Вас в $dompdf->output ?
Ответ написан
Комментировать
@auzil
Нужны логи.
Белый экран это нормально, Вы же стримите файл в браузер.

$dompdf->stream('/var/www/hello.pdf');

конечно не помогло - если потратить минутку и заглянуть в этот самый dompdf, то можно узнать, что делает функция stream

/**
     * output the pdf code, streaming it to the browser
     * the relevant headers are set so that hopefully the browser will recognise it
     */
    function stream($options = '')


если нужно сохранить файл на сервере, то нужно после рендера вызвать:

/**
     * Returns the PDF as a string
     *
     * The file will open a download dialog by default.  The options
     * parameter controls the output.  Accepted options are:
     *
     *
     * 'compress' = > 1 or 0 - apply content stream compression, this is
     *    on (1) by default
     *
     *
     * @param array $options options (see above)
     *
     * @return string
     */
    public function output($options = null)


и далее уже сохранить это дело на сервере
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы