1

从 pdf 文件中,我成功地为 pdf 中的每一页生成了 1 个 png 图像。

问题是,无论我使用什么设置,对于某些页面,GhostScript 都会弄乱字体间距,以至于在某些 png 中,一个单词看起来像是 2 个或 3 个单词。

这是一个问题,因为我在印象笔记中使用这些文件会弄乱预期的搜索结果。因此,搜索“Providers”不会返回任何内容,因为在 png 文件中,它显示为“Pro vid er rs”(或“Users”显示为“Use rs”)。

Dropbox 链接到屏幕截图,左侧显示源 pdf 的原始文本,右侧显示生成的 png --> http://dl.dropbox.com/u/13267240/ScreenClip.png

我是 Ghostscript 的新手,不知道为什么会这样。

这是我正在使用的命令行(在 Python 中):

cmd = "gswin%sc " % (SYS_PROCESSOR_ARCH) + "-q -dNOPAUSE -dBATCH -dPDFFitPage=true -sDEVICE=png16m -r%s " % (PNG_RES) + "-sOutputFile=" + '"%s\%s -pg-%%d.%s" "%s"' % (outputdir, outputFileNamePrefix, suffix, pdfSourceFile)

或在运行时评估:

gswin64c -q -dNOPAUSE -dBATCH -dPDFFitPage=true -sDEVICE=png16m -r300X300 -sOutputFile="C:\EPTK-TMP\02-01-Introduction-pg-%d.png" "C:\EPTK-TMP\02 -01-Introduction.pdf"

4

1 回答 1

3

PDF 示例中的字体是无衬线字体(没有线条的小装饰性结尾等...),PNG 示例中的字体是衬线字体(带有小装饰性...)。

所以 GhostScript 在进行 PDF 到 PNG 的转换时由于某种原因没有使用正确的字体。这可能有几个原因:

1) 字体可能没有嵌入到 PDF 文件中,因此 GhostScript 必须找出其他东西。

2) 这些字体在您的系统上也可能不可用,因此 GhostScript 只需将它们替换为一些默认值。这会改变字母的外观,可能还会改变字母的宽度,从而产生间距问题。

所以问题是您是否首先生成PDF。如果是这样,您可能需要做得更好,以便 GhostScript 可以使用嵌入的字体。如果您没有生成 PDF,您可以尝试找出您拥有的这些 PDF 文件中使用了哪些字体,并确保它们可用于您系统上的 GhostScript。

我对 GhostScript 不太熟悉,但也许这些字体已经在您的系统上,这只是 GhostScript 找不到它们的问题。在这种情况下,请查看是否有命令行参数将其指向系统上正确的字体文件夹。

于 2013-01-10T06:50:24.807 回答