我尝试使用imagemagick将一些PDF转换为jpegs。我在win 10,64上工作,使用python 3.62 - 64位和魔杖0.4.4。我已经能够使用ImageMagick-6.9.9-Q16-HDRI进行魔杖了。我已将Path和MAGICK_HOME env vars设置为
E:\ImageMagick-6.9.9-Q16-HDR
这允许:
from wand.image import Image
工作。
我的剧本:
import os
magick_home=os.getcwd() + os.sep + "E:\ImageMagick-6.9.9-Q16-HDR"
os.environ["PATH"] += os.pathsep + magick_home + os.sep
os.environ["MAGICK_HOME"] = magick_home
os.environ["MAGICK_CODER_MODULE_PATH"] = magick_home + os.sep + "modules" + os.sep + "coders"
from wand.image import Image
.....
file_path = os.path.dirname(os.path.abspath(__file__))+os.sep+"myfile.pdf"
image_pdf = Image(filename=file_path, resolution=300)
image_jpeg = image_pdf.convert('jpeg')
我得到了:
File "ocr_test.py", line 38, in <module>
image_pdf = Image(filename=file_path, resolution=300)
File "e:\Myenv\lib\site-packages\wand\image.py", line 2744, in __init__
self.read(filename=filename, resolution=resolution)
File "e:\Myenv\lib\site-packages\wand\image.py", line 2822, in read
self.raise_exception()
File "e:\Myenv\lib\site-packages\wand\resource.py", line 222, in raise_exception
raise e
wand.exceptions.MissingDelegateError: no decode delegate for this image format `PDF' @ error/constitute.c/ReadImage/504
我怎样才能使这个工作?
编辑:
按照你的建议,我跟着https://glenbambrick.com/2017/01/10/pdf-to-jpg-conversion-with-python-for-windows/并安装了ghostscript 9.22 - 32位。 (我知道64位的工作没有成功PythonMagick can't find my pdf files) 我已将Path和MAGICK_HOME环境变量设置为包含:
E:\ImageMagick-6.9.9-Q16-HDR;E:\gs9.22\bin
我跑了:
$ E:/ImageMagick-6.9.9-Q16-HDRI/convert --version
Version: ImageMagick 6.9.9-23 Q16 x64 2017-11-12 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2015 ImageMagick Studio LLC
License: http://www.imagemagick.org/script/license.php
Visual C++: 180040629
Features: Cipher DPC HDRI Modules OpenMP
Delegates (built-in): bzlib cairo flif freetype jng jp2 jpeg lcms lqr openexr pangocairo png ps raw rsvg tiff webp xml zlib
我没有看到gs或gslib。接下来我该怎么办?
答案 0 :(得分:0)
我不知道这是否会对任何人有所帮助,但对我来说,MAGICK_HOME似乎没有被Windows识别。我最后放了:
E:/gs/bin
在My PATH env var的开头,事情开始起作用了。