2012-12-28 57 views
1

我在将PDF转换为ImageMagick中的PNG时遇到麻烦。我使用了不同的变体,包括使用Ghostscript,并将输出管道输送到ImageMagic(给出here - 这似乎不适合我,所以我必须保存到临时文件而不是使用管道)。我发现这是工作最适合我:边距在PDF中消失 - >使用ImageMagick进行PNG转换

转换-background透明 - 密度150×150的测试检验.pdf,IMSoloOut.png

这里的原始PDF的屏幕截图,在我的浏览器(预览,在OS X):

Original PDF file in Preview

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

PNG in Preview

问题是它的边距下降。我不清楚它是否使它们变得透明或者是什么,但是图像的格式看起来没有边距而sl sl。

我得到了这个尝试:

转换 - 密度150×150 -gravity检验.pdf中心-Background透明-extent 612x792试验Extras.png

而这只是给了我一个网页的部分:

enter image description here

我试图适应这一点,改变了612x792到1275x1650,这を适合150DPI乘以页面大小(8.5“x 11”)。当我这样做的时候,我得到了一个大的图像,但是再一次,边缘消失了,就像上面的第二张图片一样。

这些图像将显示在一个Java程序中,该程序将显示多个页面,因此页边距可能会有所不同(换句话说,我不能只围绕输出包装设置的边框,如第2页所示图像,因为边框尺寸会在一些图像中改变)。

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

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

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

我怀疑我错过了一些明显的东西 - 我希望它是那么容易。

我怎样才能确保边缘的空间显示出来?

回答

2

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

转换 - 密度150×150 InputFile.pdf -background白色-units PixelsPerInch -density 150 -extent 1275x1650 OutputFile.png

的1275x1650来自乘150(用于DPI)宽度为8.5英寸,高度为11英寸。

+0

即使没有密度,我也需要'范围'。没有范围,幻灯片被裁剪掉。 – cayhorstmann

相关问题