在PHP中解析包含特殊字体的PDF

时间:2018-05-29 10:44:37

标签: php fonts tcpdf

我在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有两种可能的解决方案。首先有人提到将字体安装到tcpdf包中,完成但没有工作 - 虽然我不是100%确定我得到了所有字体..有没有办法用tcpdf调试这个?

其次有人提到

  

我更改了我感兴趣的转义序列的代码。

为他解决了这个问题。但我不知道该怎么做。

1 个答案:

答案 0 :(得分:0)

我最终使用ghostscript来转换PDF

$cmd = 'gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dBATCH -dNOPAUSE -sOutputFile=' . $outputFile . ' ' . $inputFile;        
exec($cmd);