1

我已经在 composer 中安装了 dompdf,但我无法渲染 pdf 文件,并且它在浏览器上显示了一些字符。我错过了代码吗?

%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 595.280 841.890] >> endobj 4 0 obj [/PDF /文本] endobj 5 0 obj << /Producer (��dompdf + CPDF) /CreationDate (D:20191015175221+02'00') /ModDate (D:20191015175221+02'00') >> endobj 6 0 obj << /类型 /Page /MediaBox [0.000 0.000 595.280 841.890] /Parent 3 0 R /Contents 7 0 R >> endobj 7 0 obj << /Filter /FlateDecode /Length 67 >> stream x��2�300P@&�ҹ� B�M����-L�L�,BR����B��5R�5cB�\C�'3 endstream endobj 8 0 obj <</Type /Font /Subtype /Type1 /Name /F1 /BaseFont /Times-Roman /Encoding /WinAnsiEncoding >> endobj xref 0 9 0000000000 65535 f 0000000009 00000 n 0000000074 00000 n 0000000120 00000 n 0000000274 00000 n 0000000303 00000 n 0000000462 00000 n 0000000565 00000 n 0000000703 00000 n 拖车 << /Size 9 /Root 1 0 R /Info 5 0 R /ID[<728657938b76cb1e658d7f5ccfa3c466><728657938b76cb1e658d7f5ccfa3c466>] >> startxref 812 %%EO

use Dompdf\Dompdf; use Dompdf\Options;

/**
* @Route("/add")
*/

 public function pdf()
{
    $pdfOptions = new Options();
    $pdfOptions->set('defaultFont', 'Arial');

    $dompdf = new Dompdf($pdfOptions);
    $dompdf->loadHtml('Hello world');
    $dompdf->setPaper('A4', 'portrait');
    $dompdf->render();
    $dompdf->stream("mypdf.pdf", [
        "Attachment" => false
    ]);
}

4

2 回答 2

1

我有同样的问题。我通过添加exit(0);之后解决了这个问题$dompdf->stream();

于 2020-09-08T13:40:39.670 回答
0

这里同样的问题!

通过添加ob_get_clean();之前找到我的方式$dompdf->stream('name.pdf');

$html = 'Test';
$dompdf = new Dompdf();
$dompdf->loadHtml($html);
$dompdf->setPaper('A4');
$dompdf->render();
ob_get_clean();
$dompdf->stream('name.pdf');
于 2021-04-29T09:18:06.637 回答