gpt4 book ai didi

PHP:Adobe Reader 无法打开使用 mpdf 创建的 PDF 文件

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:02:28 25 4
gpt4 key购买 nike

我正在使用 mpdf 即时创建 PDF 文件,文件在浏览器中打开正常,但 Adob​​e 给我一个错误:

Adobe Acrobat Reader DC could not open 'example-filename.pdf' because it is either not a supported file type or because the file has been damaged (for example, it was sent as an email attachment and wasn't correctly decoded).

我查看了与此相关的其他问题 (another mpdf + adobe error),并在文本编辑器中查看了 pdf。我发现文件的第一部分如下所示:

<!DOCTYPE html>
<head>
<title>
CapstoneDB
</title>
%PDF-1.4
%âãÏÓ

在我删除了直到 %PDF-1.4 的所有内容之后(包括选项卡),该文件在 Adob​​e 中打开得很好,这很棒,除了我需要能够在 Adob​​e 中打开生成的 pdf,而无需每次都手动摆弄代码。

这是我用 html 和 css 调用 mpdf 的包装器函数:

include('../mpdf/mpdf.php');

function user_download_pdf($html, $css_file, $filename) {
$mpdf = new mPDF();
$stylesheet = file_get_contents($css_file);
$mpdf->WriteHTML($stylesheet,1);
$mpdf->WriteHTML($html,2);
$mpdf->Output($filename, "D");
}

我从不向 mpdf 提供完整的 html 页面,通常只是一个 h3 和一个或多个表格。也许我需要给 mpdf 一个完整的 html 页面,包括 <head> , <body> , ETC?有没有什么方法可以更改 mpdf 配置或我在 php 中调用 mpdf 的方式,以消除 pdf 文件开头的 html 垃圾,这些垃圾会破坏一切?

最佳答案

地点

ob_clean(); 

紧接着

$mpdf->Output();

如果没有这个 mpdf 有时会包含网站页面 HTML,而不仅仅是您想要在 PDF 中包含的 HTML,这可能是因为标题已经在代码的其他地方发送了。这可能会弄乱您的 PDF,因此 Adob​​e 无法打开它。

关于PHP:Adobe Reader 无法打开使用 mpdf 创建的 PDF 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35276187/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com