PDF 在 adobe acrobat 中显示空白页

问题描述 投票:0回答:1

您好,我在 Codeigniter 3 中使用 dompdf 将 html 转换为 pdf,当我下载 pdf 并在 pdf 阅读器浏览器中打开时,会显示 pdf。

pdf In browser

但是当我在 adobe acrobat 中打开 pdf 时,pdf 只显示空白页 pdf in adobe acrobat

这是我的代码:

$html = $this->load->view('viewhtml', $data, TRUE);
//echo $html;
$dompdf = new Dompdf();
$dompdf->loadHtml($html);


// (Optional) Setup the paper size and orientation
$dompdf->setPaper('A4', 'portrait');

// Render the HTML as PDF
$dompdf->render();
$dompdf->getCanvas()->get_cpdf()->setEncryption("1234");

        // Output the generated PDF to Browser

$dompdf->stream("name.pdf", array("Attachment" => false));


exit(0);

我不知道出了什么问题,有人可以帮助我吗。

编辑:当我在不同的pdf阅读器中打开pdf时,会显示pdf

here

https://drive.google.com/file/d/1dE7Rdjv-KWCumj6MOAxereM7mmG3XwnX/view?usp=share_link

如果您想在 adobe acrobat 中查看,这是我的 pdf 文件。 (通行证:1234)

php pdf dompdf pdf-reader
1个回答
0
投票

检查提供的示例 PDF,发现文件中嵌入的 DejaVuSans 字体的 CIDSystemInfo 条目已损坏:

11 0 obj
<</Registry ‘7_wá
/Ordering ‘#x.<
/Supplement 0
>>

RegistryOrdering 的值应该是字符串,但在这里它们完全被破坏了(即使在加密文档中,字符串也必须正确分隔)。

此错误已在 2020 年 3 月的 dompdf pull request 2114 中得到修复,这确实是@Olivier 在对您的问题的评论中指出的 dompdf 问题 2060 的修复。

因此,请将您的 dompdf 版本更新为包含上述拉取请求的状态。

© www.soinside.com 2019 - 2024. All rights reserved.