【发布时间】:2010-11-01 22:17:42
【问题描述】:
我正在尝试使用 Ghostscript 栅格化 PDF 文件,但未成功 具有透明背景的PNG文件的透明背景。我有 高低搜索其他尝试相同事物的人的问题 并且没有任何已发布的解决方案,据我所知,这可以归结为 指定 -sDEVICE=pngalpha,已使用我的测试文件。在此刻 我真的很感激任何更有经验的手可以提供的建议或提示 提供。
我的测试 PDF 位于此处:http://www.kolossus.com/files/test.pdf
可能是这个文件有问题,但我对此表示怀疑。据我所知 可以看出,它没有指定的背景,当我打开文件时 透明感知应用程序,如 Photoshop 或 Illustrator,果然如此 以透明背景显示。然而,当打开一个 像 Adobe Reader 这样的应用程序,文件以白色背景呈现。 我相信这与呈现 PDF 的应用程序有关 与 PDF 本身相比——Adobe Reader 等应用程序假设您想查看 打印文档的外观,因此总是显示为白色 艺术品背后的画布——但我不能确定。
我使用的 gs 命令是:
gs -dNOPAUSE -dBATCH -sDEVICE=pngalpha -r72 -sOutputFile=test.png test.pdf
这会生成一个在边界框外具有透明像素的 PNG 文件中的艺术品,但艺术品内部的所有像素 边界框在白色背景上被光栅化。这是个问题 对我来说,因为我的作品有阴影和抗锯齿边缘,需要 保存在最终输出中,不能只是用 图像魔术。我的 PNG 输出示例与上面的 pdf 位于同一位置,最后是 .png(stackoverflow 不允许我在帖子中包含多个 url)。
有趣的是,我发现使用 -dBackgroundColor 标志没有任何影响,甚至 如果我将其设置为非白色,例如 -dBackgroundColor=16#ff0000。可能 我对这个标志的语法理解是错误的。
另外有趣的是,我发现使用 -dTextAlphaBits=4 没有任何影响 -dGraphicsAlphaBits=4 标志尝试启用亚像素抗锯齿。我会 还感谢有关如何启用子像素抗锯齿的任何建议, 尤其是文字。
最后,我在 Mac OS 10.5.7 上使用 GPL Ghostscript 8.64 和渲染 我试图设置的工作流程是从 PrinceXML 输出的 PDF。我直接调用 Ghostscript 进行光栅化,而不是使用 ImageMagick,因为 ImageMagick 委托 Ghostscript 进行 PDF 光栅化,我应该能够通过直接调用 GS 更好地控制光栅化。
感谢您的帮助。
-乔恩·沃尔夫
【问题讨论】:
标签: pdf png transparency ghostscript