2013-08-26 61 views
0

我使用PHP exec()和GhostScript将我的PDF文件转换为JPG,但是,似乎存在文本问题 - 字母被误放。下面是例子截图它是如何变成了:GhostScript - 将文本从pdf转换为jpg后错位

这是它是如何在PDF - http://screencast.com/t/vmF2kJdlts ,这是它是如何变成了对JPG - http://screencast.com/t/BTFNMkrc

下面是我使用的命令: exec("/usr/bin/gs -dNOPAUSE -sDEVICE=jpeg -sOutputFile=test.jpg -dJPEGQ=100 -r814x1149 -q test.pdf", $out, $rcode);

PDF本身是用dompdf和自定义安装的字体生成的,如果有帮助的话。

任何建议我做错了什么?

+0

你能提供PDF格式的检查吗? – mkl

+0

这是链接https://www.dropbox.com/s/wa0760utyc2fwyy/test.pdf – Deez

+0

我也无法使用Adobe Acrobat将此文档转换为图像。 – stanlyF

回答

0

使用GS9.07win进行转换后,文本看起来很好(文本使用默认字体Arial呈现)。很可能是OpenSans和OpenSans-Bold字体替换或glif地图不完整的问题。

+0

所以基本上这意味着GhostScript有它自己的字体库,我需要安装OpenSans? – Deez

+0

[GS链接](http://www.ghostscript.com/doc/current/Use.htm#CIDFontSubstitution)* -sFONTDIR = c:/ windows/fonts -sCIDFMAP = lib/cidfmap * – stanlyF

+0

我试图将您的PDF文件在我的组件的帮助下,图像看起来像原始的PDF。在你的情况下唯一可能不正确的是/ W宽度计算。(我的意思是*/W [0,38] [26] 33 [267] 34 [401] 35 [646] 36 [572] 823] 38 * ...) – stanlyF