0

div、tables、thead、tboody、tfoot、h2、h3、および ccs を使用して、ビュー HTML をレンダリングしようとしています。

donpdfを使用してphpでレンダリングした結果は次のとおりです。

"%PDF-1.3 1 0 obj << /Type /Catalog /Outlines 2 0 R /Pages 3 0 R >> endobj 2 0 obj << /Type /Outlines /Count 0 >> endobj 3 0 obj << /Type /Pages /Kids [6 0 R ] /Count 1 /Resources << /ProcSet 4 0 R /Font << /F1 8 0 R >> >> /MediaBox [0.000 0.000 612.000 792.000] >> endobj 4 0 obj [/PDF /Text ] endobj 5 0 obj << /Creator (DOMPDF) /CreationDate (D:20130227215320+00'00') /ModDate (D:20130227215320+00'00') >> endobj 6 0 obj << /Type /Page /Parent 3 0 R /Contents 7 0 R >> endobj 7 0 obj << /Filter /FlateDecode /Length 66 >> stream x��2�300P@&�ҹ�B�M��́����BH����������BH��B���H�f�B���k�� endstream endobj 8 0 obj << /Type /Font /Subtype /Type1 /Name /F1 /BaseFont /Times-Roman /Encoding /WinAnsiEncoding >> endobj xref 0 9 0000000000 65535 f 0000000008 00000 n 0000000073 00000 n 0000000119 00000 n 0000000273 00000 n 0000000302 00000 n 0000000416 00000 n 0000000479 00000 n 0000000616 00000 n trailer << /Size 9 /Root 1 0 R /Info 5 0 R >> startxref 725 %%EOF"

dompdfこの応答をレンダリングする理由は何ですか?

これは、コード生成 Pdf です。

class PdfView extends PhpView {

public $orientation = "portrait";
public $size = "letter";

function render(Response $response) {
    $response->resetBuffer();
    parent::render($response);
    $buffer = utf8_decode($response->getBuffer());
    $response->resetBuffer();
    Context::load("app/core/lib/dompdf/dompdf_config.inc");
    $pdf = new DOMPDF();
    $pdf->set_paper($this->size,$this->orientation);
    $pdf->load_html($buffer);
    $pdf->render();
    $render = $pdf->output();
    if ($path = @$response->result->options->save)
        file_put_contents($path, $render);
    else {
        $response->setHeader("Content-Type", "application/pdf");
        echo $render;
    }
}

}

アプリのヘッダーは「application/pdf」です。助けてください!!

4

1 に答える 1

0

私も同じ問題を抱えていました。基本的な問題は、クラス ライブラリの次の行にあります。

/* FUNCION QUE DARÁ ERRORES*/
/* Function with troubles*/
if (PHP_VERSION < 6) {
    $magic_quotes = get_magic_quotes_runtime();
    set_magic_quotes_runtime(0);
}
$file_buffer = file_get_contents($path);
$file_buffer = $this->EncodeString($file_buffer, $encoding);
fclose($fd);
if (PHP_VERSION < 6) { set_magic_quotes_runtime($magic_quotes); }
    return $file_buffer;
}

次のコードに置き換える必要があります。

/* NUEVA FUNCION CORRECTA */
/* Fuction correct*/  
if (PHP_VERSION < 6) {
    $magic_quotes = get_magic_quotes_runtime();
    ini_set("magic_quotes_runtime", 0);
}
$file_buffer = file_get_contents($path);
$file_buffer = $this->EncodeString($file_buffer, $encoding);
fclose($fd);
if (PHP_VERSION < 6) { ini_set("magic_quotes_runtime", $magic_quotes); }
    return $file_buffer;
}

このコードがお役に立てば幸いです:)

于 2014-04-11T18:35:57.537 に答える