首页 > 解决方案 > 如何验证 PDF?

问题描述

我有一个 PDF 文件,用 php 生成(使用 tFDF),可以在 chrome、firefox 和 safari 中正常打开。但不是在 Edge 或 Adob​​e acrobat 阅读器中。Edge 显示白色页面,Adobe 报告“此页面存在错误。Acrobat 可能无法正确显示页面”。

是否可以检索该错误可能是什么?PDF 文件使用了一些可能是问题的嵌入字体,但我不确定。

标签: phppdf

解决方案


您可以像这样使用 Ghostscript(路径纯属猜想):

# On Linux
gs -o /dev/null -sDEVICE=nullpage -dBATCH -dNOPAUSE /home/ebaars/sample.pdf

# On Windows, using gswin32

gswin32 -o nul -sDEVICE=nullpage -dBATCH -dNOPAUSE C:\Users\Eric\Desktop\Sample.pdf

或者您可以使用 iText(即pdftk)并要求(例如)压缩文件并将其重新解析为另一个文件。同时,图书馆将执行检查。

您还可以查看其他答案

更新

此错误“'0,686 不是运算符” - 这意味着它在预期的运算符处找到了一个数字。我假设“tFDF”是指“tcPDF”?我怀疑 - 我可能错了 - 我们正在查看i18n 错误,其中 2/3 之类的数字应该是“0.66666”,由带有十进制逗号的服务器代码表示,使其成为 PDF解释器相信一个列表(“0,666”)。

可以肯定的是,我要么需要 PDF——我会用 iText 解压缩它,然后将 0,686 等重写为 0.686 等,然后看看这种方式是否有效——或者生成文件的确切 PHP 代码,加上服务器的配置(以验证区域设置是否合适)。

我的猜测是这是一个库错误。检查软件版本,以防可以更新代码并以这种方式解决问题。

我已经多次遇到这个错误,因为我来自意大利并且“一千零一分”在这里写为“1.000,01”或“1'000,01”而不是“1000.01”。


推荐阅读