dompdf: загрузка HTML-файлов для рендеринга, не работает - PullRequest
4 голосов
/ 14 июля 2010

dompdf не может сгенерировать pdf со страницы моего сайта. Однако я сохранил страницу и загрузил ее в виде простого статического HTML-файла, и это сработало!

Итак, я не знаю, связана ли проблема с URL или чем-то еще ... это ошибка, которую я получаю:

Предупреждение: require_once (/home/o110334/public_html/dompdf/include/firephp.cls.php) [function.require-Once]: не удалось открыть поток: нет такого файла или каталога в / home / o110334 / public_html / dompdf / dompdf_config.inc.php в строке 194

Неустранимая ошибка: require_once () [function.require]: Не удалось открыть обязательное ' usr / local / lib / php ') в /home/o110334/public_html/dompdf/dompdf_config.inc.php в строке 194

Это код:

$file = "admin/store/orders/45/invoice/print"; // doesn't work
//$file = "invoice_sample2.html"; //it works (same web page, but stored in a html file)

$dompdf = new DOMPDF();
$dompdf->load_html_file($file);
$dompdf->render();
$dompdf->stream("sample.pdf");

1 Ответ

13 голосов
/ 14 июля 2010

DOMPDF пробует все виды вещей / eval'ов, когда работает локально, вам лучше попробовать:

1) (предоставленный, дальний путь) запроса HTML по http:

$dompdf->load_html_file('http://yourdomain.ext/'.$file);

2) Не позволяйте DOMPDF eval, но используйте саму буферизацию вывода и позвольте DOMPDF загрузить результирующую строку HTML.

<?php
    ob_start();
    //be sure this file exists, and works outside of web context etc.)
    require("admin/store/orders/45/invoice/print");
    $dompdf = new DOMPDF();
    $dompdf->load_html(ob_get_clean());
    $dompdf->render();
?>
...