我在ImageMagick中转换PDF到PNG时遇到了麻烦。我使用了不同的变体,包括使用Ghostscript并将输出管道传输到ImageMagic (给定的here --这似乎不适合我,所以我必须保存到临时文件中,而不是使用管道)。我发现这对我最有效:
转换-background透明-density 150x150 Test.pdf测试-IMSoloOut.png
这里是我的查看器中原始PDF的屏幕截图(预览,在OS上):
当我转换它的时候,我得到了这个:
问题是它正在降低利润率。我不清楚这是否使它们透明或什么,但是图像的格式看起来很草率,没有空白处。
我被赋予了这个尝试:
转换-density 150x150 Test.pdf -gravity center -background透明-extent 612x792测试
这给了我这一页的一部分:
我试着修改它,并将612x792改为1275x1650,这将适合150 8.5乘以页的大小(8.5“x11”)。当我这样做的时候,我得到了一个大的图像,但是,又一次,边缘消失了,就像上面的第二张图片一样。
这些图像将显示在一个Java程序中,该程序将显示多个页面,因此边距可能会有所不同(换句话说,我不能将设置的边框封装在输出周围,如第二个图像所示,因为边框大小在某些图像中会发生变化)。
我已经看到了一些删除PDF到PNG转换的空白,但它们似乎没有提供任何帮助。
我的猜测是,在转换过程中,边距被转换为透明的东西,所以我尝试在命令行中添加"-transparent white“来进行转换,但是没有帮助。
我能做些什么来拿回页边距,或者,如果它们在那里,而且是不可见的,我如何才能让它们显示?基本上,我希望PNG文件(图#2)看起来像PDF文件,包括边距(图1)。
我想我错过了一些显而易见的事情-我希望这很容易。
我怎样才能确保空白处的空间显示出来?
发布于 2012-12-28 22:29:37
我从来没有得到一个确切的答案,但其中一个ImageMagick的人对此很有帮助。基本上,我需要使用"-extent“选项来指定图像有多大。由于我使用的密度与缺省值不同,所以我也必须考虑到这一点。起作用的命令行是:
转换-density 150x150 InputFile.pdf -background -background -units PixelsPerInch -density 150 -extent 1275x1650 OutputFile.png
1275x1650是从150 (新闻部)乘以8.5“的宽度和11倍的高度。
https://stackoverflow.com/questions/14074840
复制