1

我在 ImageMagick 中将 PDF 转换为 PNG 时遇到问题。我使用了不同的变体,包括使用 Ghostscript 并将输出通过管道传输到 ImageMagic(如此处给出- 这似乎对我不起作用,所以我必须保存到临时文件而不是使用管道)。我发现这对我最有效:

转换-背景透明-密度150x150 Test.pdf Test-IMSoloOut.png

这是我的查看器中原始 PDF 的屏幕截图(预览,在 OS X 上):

预览中的原始 PDF 文件

当我转换它时,我得到了这个:

预览中的 PNG

问题是它正在降低利润率。我不清楚是让它们透明还是什么,但图像的格式看起来很草率,没有边距。

我得到了这个尝试:

转换 - 密度 150x150 Test.pdf - 重心 - 背景透明 - 范围 612x792 Test-Extras.png

这只是给了我页面的一部分:

在此处输入图像描述

我尝试调整它并将 612x792 更改为 1275x1650,这将适合 150DPI 乘以页面大小(8.5" x 11")。当我这样做时,我得到了一个大图像,但是,边缘又消失了,就像上面的第二张图像一样。

这些图像将显示在将显示多个页面的 Java 程序中,因此边距可能会有所不同(换句话说,我不能只在输出周围设置边框,如第二张图像所示,因为某些图像的边框大小会发生变化)。

我已经看到许多关于删除 PDF 到 PNG 转换的边距的点击,但它们似乎没有提供任何帮助我的东西。

我的猜测是,在转换过程中,边距被转换为透明的东西,所以我尝试在命令行中添加“-transparent white”进行转换,但没有帮助。

我该怎么做才能恢复边距,或者,如果它们在那里并且不可见,我怎样才能让它们显示?基本上我希望 PNG 文件(图像 #2)看起来像包含边距的 PDF 文件(图像 #1)。

我怀疑我遗漏了一些明显的东西——我希望就这么简单。

如何确保显示边距中的空间?

4

1 回答 1

3

我从来没有得到一个确切的答案,但是 ImageMagick 的一个人对此很有帮助。基本上,我需要使用选项“-extent”来指定图像的大小。由于我使用的密度与默认值不同,因此我也必须考虑到这一点。有效的命令行是:

转换 -density 150x150 InputFile.pdf -background white -units PixelsPerInch -density 150 -extent 1275x1650 OutputFile.png

1275x1650 来自将 150(对于 DPI)乘以 8.5" 的宽度和 11 的高度。

于 2012-12-29T06:29:37.720 回答