1

我正在使用 ImageMagick 将 PDF 文件转换为 PNG。(很多文本,所以我宁愿使用 PNG 而不是 JPEG。)我在 OS X 10.8.2 上执行此操作。

我尝试使用 Ghostscript,然后是 ImageMagick,就像这里所做的那样,我得到了一个灰色的背景。我将它缩短为一行,因为 ImageMagick 可以处理 PDF 并尝试了这个:

 convert -background transparent -transparent white \
          Background-Page01.pdf TestClearX1.png

我已经尝试过使用 PNG 文件和 JPEG 文件。(有和没有-transparent white。)

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

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

如果这是不可能的,因为 JPEG 文件不适合文本,有没有更好的选择?

4

2 回答 2

2

这不是一个答案,但该comment部分的格式不允许合理的格式,所以我在这里提供它。

您提到了Preview在 OS X 中不能正确显示透明度的事实,这是正确的。为了解决这个问题,我制作了以下脚本,它将您要查看的文件覆盖到像 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选项还意味着Preview也不会窃取焦点:-)

所以,而不是看起来像这样:

在此处输入图像描述

它看起来像这样:

在此处输入图像描述

于 2014-10-31T15:39:52.763 回答
1

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

于 2012-12-28T17:58:38.547 回答