5

I'm trying to convert an image in SVG format to WMF using PHP and Imagick under Linux. I can convert images from SVG to PNG successfully, but not from SVG to WMF. I get no PHP errors, just a NULL image. I suspect that I may have an installation/configuration problem because when I try to use the ImageMagick 'convert' command, I get the following error.

> convert image.svg image.wmf
convert: no encode delegate for this image format `image.wmf' @ constitute.c/WriteImage/1114.

However, the wmf delegate seems to be correclty registered

> convert -list configure
Path: /usr/lib64/ImageMagick-6.5.4/config/configure.xml
Name          Value
-------------------------------------------------------------------------------
CC            gcc -std=gnu99
CFLAGS        -fopenmp -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -Wall -W -pthread
CONFIGURE     ./configure  '--build=x86_64-redhat-linux-gnu' '--host=x86_64-redhat-linux-gnu' '--target=x86_64-redhat-linux-gnu' '--program-prefix=' '--prefix=/usr' '--exec-prefix=/usr' '--bindir=/usr/bin' '--sbindir=/usr/sbin' '--sysconfdir=/etc' '--datadir=/usr/share' '--includedir=/usr/include' '--libdir=/usr/lib64' '--libexecdir=/usr/libexec' '--localstatedir=/var' '--sharedstatedir=/var/lib' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--enable-shared' '--disable-static' '--with-modules' '--with-perl' '--with-x' '--with-threads' '--with-magick_plus_plus' '--with-gslib' '--with-wmf' '--with-lcms' '--with-rsvg' '--with-xml' '--with-perl-options=INSTALLDIRS=vendor  CC='\''gcc -L/builddir/build/BUILD/ImageMagick-6.5.4-7/magick/.libs'\'' LDDLFLAGS='\''-shared -L/builddir/build/BUILD/ImageMagick-6.5.4-7/magick/.libs'\''' '--without-dps' '--without-included-ltdl' '--with-ltdl-include=/usr/include' '--with-ltdl-lib=/usr/lib64' 'build_alias=x86_64-redhat-linux-gnu' 'host_alias=x86_64-redhat-linux-gnu' 'target_alias=x86_64-redhat-linux-gnu' 'CFLAGS=-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic' 'CXXFLAGS=-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic'
COPYRIGHT     Copyright (C) 1999-2009 ImageMagick Studio LLC
CPPFLAGS      -I/usr/include/ImageMagick
CXX           g++
CXXFLAGS      -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -Wall -W -pthread
DEFS          -DHAVE_CONFIG_H
DELEGATES     bzlib fontconfig freetype gs jpeg jng jp2 lcms png rsvg tiff x11 xml wmf zlib
DISTCHECK_CONFIG_FLAGS 'CFLAGS=-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic' --disable-deprecated --with-quantum-depth=16 --with-umem=no --with-autotrace=no --with-dps=no --with-fontpath=
EXEC-PREFIX   /usr
HOST          x86_64-redhat-linux-gnu
LDFLAGS       -L/usr/lib64 -lfreetype
LIB_VERSION   0x654
LIB_VERSION_NUMBER 6,5,4,7
LIBS          -lMagickCore -llcms -ltiff -lfreetype -ljpeg -lfontconfig -lXext -lSM -lICE -lX11 -lXt -lbz2 -lz -lm -lgomp -lpthread -lltdl
NAME          ImageMagick
PCFLAGS       -fopenmp
PREFIX        /usr
QuantumDepth  16
RELEASE_DATE  2012-05-07
VERSION       6.5.4
WEBSITE       http://www.imagemagick.org

Any idea what the problem might be?

user2533046
  • 51
  • 1
  • 3
  • I don't know about getting ImageMagick working for this, but I've had success using inkscape interactively (i.e. "inkscape -g foo.svg") to save a SVG file in WMF format. – Eric Apr 24 '15 at 17:20
  • To follow up on my previous comment, if you're looking to do the conversion in a non-interactive way, inkscape uses uniconverter internally but you can run that directly: uniconverter image.svg image.wmf – Eric Jun 17 '15 at 16:45

1 Answers1

2

If you want to convert to WMF, you need to install the libwmf library. If you already installed it, you need to specify it as one of the optional modules. WMF is only enabled if you specify --with-modules on the configure script command line.

imelgrat
  • 2,407
  • 1
  • 12
  • 17