在 php 中解析包含特殊字体的 PDF
Parsing PDF containing special Fonts in php
我在 Zendframework 3 项目中使用 smalot/pdf-parser 来获取 PDF 文件的内容。到目前为止,使用的文件是带有基本字体的 PDF 1.3 文件。但是创建文件的来源将很快更新,文件将是带有一些特定字体的 PDF 1.5。
尝试解析新文件时出现此错误:
Object list not found. Possible secured file.
我尝试转换为较低的 PDF 版本并且可以解析文件。但是我从使用的特殊字体中得到了特殊字符的错误,而且由于我们得到了很多这些 PDF,转换每个文件然后将其上传到我们的系统不是一个可行的选择。
我也试过把用过的字体安装到tcpdf库中。错误仍然存在。
使用基本字体创建 PDF 1.5 时,我可以读取文件,所以我相当确定可以通过正确使用正确的字体或转换 pdf 中的字体来解决错误。
我发现此 issue 有 2 种可能的解决方案。首先有人提到将字体安装到 tcpdf 包中,完成但没有工作 - 虽然我不是 100% 确定我得到了所有字体..有没有办法用 tcpdf 调试它?
其次有人提到
I changed the code for the escaping sequences I was interested in.
为他解决了这个问题。但是我不知道该怎么做。
我最终使用 ghostscript 转换 PDF
$cmd = 'gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dBATCH -dNOPAUSE -sOutputFile=' . $outputFile . ' ' . $inputFile;
exec($cmd);
我在 Zendframework 3 项目中使用 smalot/pdf-parser 来获取 PDF 文件的内容。到目前为止,使用的文件是带有基本字体的 PDF 1.3 文件。但是创建文件的来源将很快更新,文件将是带有一些特定字体的 PDF 1.5。
尝试解析新文件时出现此错误:
Object list not found. Possible secured file.
我尝试转换为较低的 PDF 版本并且可以解析文件。但是我从使用的特殊字体中得到了特殊字符的错误,而且由于我们得到了很多这些 PDF,转换每个文件然后将其上传到我们的系统不是一个可行的选择。
我也试过把用过的字体安装到tcpdf库中。错误仍然存在。
使用基本字体创建 PDF 1.5 时,我可以读取文件,所以我相当确定可以通过正确使用正确的字体或转换 pdf 中的字体来解决错误。
我发现此 issue 有 2 种可能的解决方案。首先有人提到将字体安装到 tcpdf 包中,完成但没有工作 - 虽然我不是 100% 确定我得到了所有字体..有没有办法用 tcpdf 调试它?
其次有人提到
I changed the code for the escaping sequences I was interested in.
为他解决了这个问题。但是我不知道该怎么做。
我最终使用 ghostscript 转换 PDF
$cmd = 'gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dBATCH -dNOPAUSE -sOutputFile=' . $outputFile . ' ' . $inputFile;
exec($cmd);