ImageMagick:用于JPEG而非PNG的透明背景

ImageMagick:用于JPEG而非PNG的透明背景,imagemagick,png,jpeg,Imagemagick,Png,Jpeg,我正在使用ImageMagick将PDF文件转换为PNG。(很多文本,所以我宁愿使用PNG而不是JPEG。)我在OSX,10.8.2上这样做 我尝试使用Ghostscript,然后使用ImageMagick,正如所做的那样,我得到了一个灰色背景。我将其缩短为一行,因为ImageMagick可以使用PDF并尝试了以下方法: convert -background transparent -transparent white \ Background-Page01.pdf Te

我正在使用ImageMagick将PDF文件转换为PNG。(很多文本,所以我宁愿使用PNG而不是JPEG。)我在OSX,10.8.2上这样做

我尝试使用Ghostscript,然后使用ImageMagick,正如所做的那样,我得到了一个灰色背景。我将其缩短为一行,因为ImageMagick可以使用PDF并尝试了以下方法:

 convert -background transparent -transparent white \
          Background-Page01.pdf TestClearX1.png
我用PNG文件和JPEG文件试过了。(以及有无
-透明白色

如果是JPEG,我可以得到白色背景(可能很清晰,但在我的查看器中,我看不出来),但使用PNG,我总是得到黑色背景。作为一种测试,我曾想过尝试生成BMP,然后将其转换为PNG,但它不会生成BMP文件

如何获得PNG文件的透明背景


如果不可能,因为JPEG文件不适合文本,有没有更好的替代方法?

在LibreOffice中导出PDF有两种方法,一种方法不提供任何警告。另一种方式提供了一个警告,即PDF/a不能有透明对象。问题是您使用的PDF/A文件不支持透明对象,这导致您的PNG始终具有背景色。

这不是答案,但
注释部分的格式不允许合理的格式设置,因此我在这里提供它

您提到了这样一个事实:OSX中的
预览
不能正确显示透明度,这是正确的。为了解决这个问题,我制作了以下脚本,它像Photoshop一样将您想要查看的文件覆盖到棋盘格图案上。我将其保存为
preview
,然后在其上使用
chmod+x preview
使其可执行。以下是脚本:

#!/bin/bash
################################################################################
# preview
# Preview images using OSX "open" but overlay images on top of checkerboard 
# first so you can see transparency/transparent pixels, since Preview renders
# them grey :-(
################################################################################
for f in "$@"
do
   base=$(basename "$f")
   composite -compose Dst_Over -tile pattern:checkerboard "$f" "/tmp/$base"
   open -g "/tmp/$base"
done
这使您能够执行以下操作:

/.preview file1.png file2.gif
-g
选项也意味着
预览
不会窃取焦点:-)

因此,与其看起来像这样:

看起来是这样的:


PDF本身是否有透明背景?此外,这些是多页PDF还是单页PDF。它们似乎是透明的背景。我在测试中使用的大部分是文本(我有一个带有图像的,我会在只使用文本的情况下使用)。我从LibreOffice生成的。我创建了一个普通的文本文档——没有任何颜色(普通白色背景上的黑色字母)。我用的是一份4页的文件和一份94页的文件。我已经生成了第一个文档的4页和第二个文档的几页的1页PDF;假设pdf具有透明背景
convert foo.pdf bar.png
应该可以很好地生成透明png。还测试了
convert-transparent white foo.pdf bar.png
(pdf中带有白色背景)并得到了正确的结果。如果您仍然有问题,请确保您的ImageMagick安装是最新的,并且您没有不可靠的PDF。@马特:知道如何验证PDF是好的,或者有适当的背景吗?它们由LibreOffice.Er生成。尝试重新保存PDF。在另一个程序中打开PDF并再次保存(如果你在Mac上,预览可以工作,如果你有Adobe Acrobat Pro或Illustrator,它们可以在任何地方工作)。另一方面,为了涵盖所有的基础,你说PNG是“暗的”-请确保这不是背景显示:)你能发布一个PNG示例吗?