Php 无法使用Imagemagick将SVG转换为WMF

Php 无法使用Imagemagick将SVG转换为WMF,php,imagemagick,imagick,wmf,Php,Imagemagick,Imagick,Wmf,我正在尝试在Linux下使用PHP和Imagick将SVG格式的图像转换为WMF。我可以成功地将图像从SVG转换为PNG,但不能从SVG转换为WMF。我没有PHP错误,只有一个空图像。我怀疑我可能有安装/配置问题,因为当我尝试使用ImageMagick“convert”命令时,我遇到以下错误 > convert image.svg image.wmf convert: no encode delegate for this image format `image.wmf' @ consti

我正在尝试在Linux下使用PHP和Imagick将SVG格式的图像转换为WMF。我可以成功地将图像从SVG转换为PNG,但不能从SVG转换为WMF。我没有PHP错误,只有一个空图像。我怀疑我可能有安装/配置问题,因为当我尝试使用ImageMagick“convert”命令时,我遇到以下错误

> convert image.svg image.wmf
convert: no encode delegate for this image format `image.wmf' @ constitute.c/WriteImage/1114.
然而,wmf代表似乎已正确注册

> 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

知道问题是什么吗?

如果要转换为WMF,需要安装libwmf库。如果已经安装,则需要将其指定为可选模块之一。只有在“配置脚本”命令行上指定--with modules时,才会启用WMF。

我不知道如何让ImageMagick实现这一点,但我已经成功地以交互方式使用inkscape(即“inkscape-g foo.svg”)以WMF格式保存svg文件。要继续我之前的评论,如果您希望以非交互式方式进行转换,inkscape在内部使用uniconverter,但您可以直接运行:uniconverter image.svg image.wmf