我在 PHP / FPDF / FPDF2File中生成的报告通常显示在浏览器窗口中。
注意:
尝试保存已在Google Chrome上打开并显示的PDF时,会出现以下错误:
失败 - 网络错误
因此,您无法保存PDF,除非您打印并以PDF格式打印,或打印PDF PDF,这没有多大意义。
有人可以告诉您如何解决此错误吗?
非常感谢!
答案 0 :(得分:1)
您是否设置了Cache-Control标头的no-store属性?
我不知道为什么,但是对我来说,它在更改后仍然有效
header("Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0");
到
header("Cache-Control: no-cache, must-revalidate, post-check=0, pre-check=0");
答案 1 :(得分:0)
@Amryn的答案实际上对我有用。这是我的完整标头设置:
header('Cache-Control: no-cache, must-revalidate, post-check=0, pre-check=0');
header('Content-type: application/pdf');
header('Content-Disposition: inline; filename="relatorio-clientes.pdf"');
header('Content-Transfer-Encoding: binary');
header('Content-Length: ' . strlen(ltrim($content)));
header('Accept-Ranges: ' . strlen(ltrim($content)));
echo $content;
答案 2 :(得分:0)
如果使用“打印”选项和“另存为PDF”,则不会发生网络错误(解决方法)。
答案 3 :(得分:0)
这对我有用:
删除php关闭标签Maybe
之后的所有字符,例如空格
在这里找到: https://stackoverflow.com/a/13463631/2267379
简单的解决方案:不要做
返回$ pdf-> Output('medienpass.pdf','D');
在您的getPdf()函数中,因为输出将被包装在一个 很多html代码。
相反,仅将pdf返回给客户:
die($ pdf-> Output('medienpass.pdf','D'));