no decode delegate for this image format `PNG'
Asked Answered
E

1

10

I'm writing a django/python application and I need to convert PDF files uploaded by the user to JPEGs (files are scans)

I'm trying to use wand, with an ImageMagick backend (on OSX) and I keep getting the following error:

MissingDelegateError at /user_docs/upload/certificate/
no decode delegate for this image format `PNG' @ error/constitute.c/ReadImage/501

My current test code is as simple as:

with wandImage(filename='/Users/username/Pictures/telechargement.pdf') as img:
    img.format = 'jpeg'
    img.save(filename='/Users/username/Pictures/bzzz.jpeg')

Some information:

  1. The file exists (I verify with os.path.exists)
  2. I can convert the file from PDF to JPG on the command line using convert
  3. I tried to set DYLD_LIBRARY_PATH to include the ImageMagick lib directory
  4. identify -list configure | grep DELEGATES returns

DELEGATES bzlib fftw fontconfig freetype gs jpeg jng lcms2 lzma mpeg png tiff x11 xml zlib

Anyone has an idea?

Thanks

Evanescent answered 16/7, 2015 at 13:30 Comment(0)
E
2

OK, Found it! As always the key is RTFM:

http://docs.wand-py.org/en/0.4.0/guide/install.html#install-imagemagick-on-mac

I was missing the:

$ export MAGICK_HOME=/opt/local
Evanescent answered 17/7, 2015 at 11:32 Comment(2)
The MAGICK_HOME environment variable is very important, see Anthony's Hints & Tips document for additional info.Coxcombry
Both links given are dead. The doc for installing ImageMagick is now found at https://imagemagick.org/script/download.php. I can't find Anthony's Hints and Tips.Cambridgeshire

© 2022 - 2024 — McMap. All rights reserved.