PHP - функция DOMPDF 1 работает, другая - нет - PullRequest
0 голосов
/ 09 января 2012

В настоящее время я работаю с DOMPDF и пытаюсь понять, почему мои PDF-файлы создаются неправильно.

Когда я запускаю следующий код,

<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
function pdf_create($html, $filename, $stream=TRUE) 
{
    require_once("dompdf/dompdf_config.inc.php");

    $dompdf = new DOMPDF();
    $dompdf->set_base_path($_SERVER['DOCUMENT_ROOT']);
    $dompdf->output_html();
    //$dompdf->load_html($html);
    //$dompdf->set_paper("a4", "portrait" );
    //$dompdf->render();
    //$dompdf->stream($filename . ".pdf");
}
?>

В моем браузере я вижу содержимое PDF, которое я ожидаю создать, однако, если я выполню этот код,

<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
function pdf_create($html, $filename, $stream=TRUE) 
{
    require_once("dompdf/dompdf_config.inc.php");

    $dompdf = new DOMPDF();
    $dompdf->set_base_path($_SERVER['DOCUMENT_ROOT']);
    //$dompdf->output_html();
    $dompdf->load_html($html);
    $dompdf->set_paper("a4", "portrait" );
    $dompdf->render();
    $dompdf->stream($filename . ".pdf");
}
?>

Я не получаю ответа, где я ожидаю получить окно загрузки. Есть ли причина для этого, интересно, может ли проблема в плохо отформатированном HTML?

1 Ответ

0 голосов
/ 09 января 2012

Ваш код плагина CI должен работать на 1.7.x. Вот разум для вашей справки:

<?php if (!defined('BASEPATH')) exit('No direct script access allowed');

function pdf_create($html, $filename, $stream=true) {
        require_once("dompdf/dompdf_config.inc.php");
        spl_autoload_register('DOMPDF_autoload');
        $dompdf = new DOMPDF();
        $dompdf->load_html($html);
        $dompdf->render();
        if ($stream) {
                $dompdf->stream($filename);
        } else {
                $CI =& get_instance();
                $CI->load->helper('file');
                write_file($filename, $dompdf->output());
        }
}
...