【发布时间】:2013-12-24 17:01:41
【问题描述】:
我在将 pdf 转换为 jpeg 时发现了一个如此连线的东西,所以我想弄清楚这可能是一个小错误。 看下面的转换后的jpg,你会发现,背景颜色都是黑色的。 图片在这里:www.shdowin.com/public/02.jpg
但是,在pdf的源文件中,可以看到背景颜色是正常的白色。 图片在这里:www.shdowin.com/public/normal.jpg
我认为这可能是我的 pdf 文件的错误,但是,当我尝试在 .NET 环境中使用 Acrobat.pdf2image 时,转换后的 jpg 显示正确。
这是我的代码:
from wand.image import Image
from wand.color import Color
import os, os.path, sys
def pdf2jpg(source_file, target_file, dest_width, dest_height):
RESOLUTION = 300
ret = True
try:
with Image(filename=source_file, resolution=(RESOLUTION,RESOLUTION)) as img:
img.background_color = Color('white')
img_width = img.width
ratio = dest_width / img_width
img.resize(dest_width, int(ratio * img.height))
img.format = 'jpeg'
img.save(filename = target_file)
except Exception as e:
ret = False
return ret
if __name__ == "__main__":
source_file = "./02.pdf"
target_file = "./02.jpg"
ret = pdf2jpg(source_file, target_file, 1895, 1080)
对这个问题有什么建议吗?
我已将 pdf 上传到网址: 02.pdf
你可以试试……
【问题讨论】:
-
您安装了哪些 ImageMagick 和 GhostScript 版本?因为,在这种情况下,所有的工作都是 Ghostscript。你能检查一下 Ghostscript 光栅化你的 PDF 是否有错误吗? 9.10 版适用于您的文件。
-
感谢 VadimR,我多次测试了您的 cmets,但在这种情况下仍然无法正确渲染。我的 ImageMagick 版本是 6.8.7-4(32 位),我的 ghostScript 版本是 9.10 和 9.07(都经过测试),它们都不起作用。你能帮我看看你的 ImageMagick 版本是什么吗?那会很有帮助..3x~~~
-
IM 的版本是
6.7.7-10 2013-09-10 Q16,我目前使用的是 Ubuntu 13.10。当您说“两者都不起作用”时,您的意思是gs 02.pdf和convert 02.pdf 02.jpg给您的图片不正确吗? -
您好 VadimR,再次感谢。我的意思是“两者都不起作用”是 Windows 中的 ghostScript 9.10 和 Ubuntu13.04 中的 gs 9.07 在这些 PYTHON 代码中都不起作用。我试过你给我看的“convert and gs”(gs9.07),它们工作得很好,但是它们不是我需要你知道的,因为我不熟悉ghostscript语言。你觉得是魔杖的问题吗?因为我每天需要转换数百个 pdf,所以这些 pdf 中只有少数是这样的。你能试试这些 Python 代码吗?魔杖版本是 0.3.5
-
如果 IM 和 GS 本身都在您的系统上生成正确的图像,那么代码或库(棒)会给出不正确的结果。抱歉,我不知道也不会使用 Python。由于
PDF标签,我提出了您的问题,并且我对不寻常的 PDF 感兴趣:)。也许有人会帮忙。但是您可以从 Python 调用任何系统命令,包括将 PDF 转换为 JPG 的命令,如果它不起作用,则无需使用魔杖。假设此代码是您的大型 Python 应用程序的一个片段。
标签: python image pdf jpeg wand