GhostScript - 从 pdf 转换为 jpg 后文本错位

Posted

技术标签:

【中文标题】GhostScript - 从 pdf 转换为 jpg 后文本错位【英文标题】:GhostScript - text misplaced after converting from pdf to jpg 【发布时间】:2013-08-26 13:56:43 【问题描述】:

我正在使用 php exec() 和 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 和自定义安装的字体生成的。

任何建议我做错了什么?

【问题讨论】:

能否提供PDF供检查? 这是一个链接dropbox.com/s/wa0760utyc2fwyy/test.pdf 我也无法使用 adobe acrobat 将此文档转换为图像。 【参考方案1】:

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

【讨论】:

所以基本上这意味着 GhostScript 有它自己的字体库,我需要在其中安装 OpenSans? GS link -sFONTDIR=c:/windows/fonts -sCIDFMAP=lib/cidfmap 我尝试在我的组件的帮助下转换您的 PDF 文件,图像看起来像原始 pdf。在您的情况下,唯一可能不正确的是 /W 宽度计算。(我的意思是 /W [0 [883] 32 [260] 33 [267] 34 [401] 35 [646] 36 [572] 37 [823] 38 ...)

以上是关于GhostScript - 从 pdf 转换为 jpg 后文本错位的主要内容,如果未能解决你的问题,请参考以下文章

通过 Ghostscript 将 PS 文件转换为 PDF/A,色彩空间问题

Ghostscript:将 PDF 转换为 CMYK EPS

使用 GhostScript 将图像转换为 PDF

如何使用 ghostscript 将 PDF 转换为 PDF/A 或 PDF/X?

GhostScript 完成转换为 PDF 后删除输入文件

Ghostscript将pdf转换为方向错误的pcl