如何将WMF文件转换为SVG文件?

11
如何将WMF文件转换为SVG?我有大约550个WMF文件需要转换为SVG格式。
对于一个文件,我在Visio中打开了WMF文件并将其保存为SVG格式,但是要转换大约550个文件是一项繁琐的工作。
实际上,这些WMF文件是从PDF文档转换而来的。那么,有没有更好的方法将PDF图像转换为SVG图像呢?目前,我将PDF原理图转换为WMF,并在Visio中打开它,这样我就可以通过取消组合选择每个电路或连接器,然后将其保存为SVG格式。
我将导入这个SVG图像到另一个工具中,在那里我可以选择每个电路和连接器进行进一步的工作。
5个回答

4

EMF转SVG工具不建议使用。列表上唯一的评论都是关于无法正常工作的问题。 - Mike Gale

4

如果要批量处理WMF转SVG,您可以使用Inkscape。您必须使用命令行启动它:inkscape --shell

然后自动转换使用:

inkscape yourfile.wmf --export-plain-svg=yourfile.svg

为了让您的生活更加轻松,这里有一个批处理脚本。创建一个文本文件,将其命名为wmftosvg.bat并放置在所有wmf文件所在的文件夹中。文件的内容:

@ECHO OFF

echo.
echo.
echo.   Enter graphic format (like wmf):
echo.
set /p Input1=   Graphic file type:  
echo.
echo.

FOR %%I IN (*."%Input1%") DO (
    setlocal enabledelayedexpansion
    C:\Portables\InkscapePortable\App\Inkscape\inkscape "%%~nI.!Input1!" --export-plain-svg="%%~nI".svg
)

使用上面的脚本,您可以将任意格式的图形转换为SVG。只需输入图形格式(文件扩展名)。

inkscape yourfile.wmf --export-plain-svg -o yourfile.svg - caram
2
甚至更简短:inkscape yourfile.wmf -l -o yourfile.svg - caram

0

我使用了wmf2svg Java项目来转换一堆旧的wmf文件。

编写了一个小的bash脚本,将我的文件夹中的所有文件转换为.svg格式。

shopt -s nullglob

for file in *; do
  fname="${file%.*}.svg"
  java -jar wmf2svg-0.9.11.jar $file $fname
done

0

是的,根据它的pom.xml文件,我相信这是同一个项目。 - Nora Heuer
这已不再可用。 - caram
GitHub已更新,而sf.net页面则是404。 - JoSSte

0
如果您熟悉C#/.NET,可以使用CodePlex上的WMF库创建一个SVG转换器。由于WMF仅支持基本形状(线条、矩形、多边形、弧形),没有图层或元素嵌套,因此将其转换为SVG应该相当容易,因为SVG支持所有这些功能及更多功能。
另外,请查看这个问题:C#中的WMF/EMF文件格式转换

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接