我将所有eps文件作为输入,这些eps文件存在于我的xml文件中。
<?xml>
<FIGURE>
<L-GRAPHIC L="DE">
<GRAPHIC FILENAME="abc.eps">
</GRAPHIC>
</L-GRAPHIC>
</FIGURE>
</xml>
Java代码使用ImageMagick
public static void main(String[] args) {
String inputfileName = "C:\\abc.eps";
try {
System.out.println("Started" + inputfileName);
ImageInfo info = new ImageInfo(inputfileName);
MagickImage magick_converter = new MagickImage(info);
String outputfile = "C:\\abc.svg"; // Output File name
magick_converter.setFileName(outputfile);
magick_converter.writeImage(info);
System.out.println("Complete");
} catch (MagickException e1) {
e1.printStackTrace();
}
}
以上代码的当前输出:
Started
之后没有任何事情发生。
请帮忙。
答案 0 :(得分:1)
ImageMagick解决方案不会创建矢量输出,而是像素文件格式。但它可能解决了这个问题。我发现,从eps创建svg图像的唯一开源方式是下面简要介绍的Inkscape方法。
编辑:@Chai已经找到了自己的解决方案,请参阅本页的其他地方。使用开源实用程序软件ImageMagick,您可以轻松地从一种图像格式转换为另一种图像格式。最简单的形式就是:
convert image.eps image.png
使用开关,您可以调整质量和许多其他功能。
使用开源绘图软件Inkscape,您可以手动执行相同操作。只需打开eps图像并将其另存为svg图像文件即可。
这是使用java解决此问题的一种方法。该解决方案基于im4java ImageMagick包装器。在我的情况下,没有必要将我的ImageMagick安装连接到java库,但如果是这样的话;如何在他们的网站上提到。
import java.io.IOException;
import org.im4java.core.ConvertCmd;
import org.im4java.core.IM4JavaException;
import org.im4java.core.IMOperation;
public static void main(String[] args) throws IOException, InterruptedException, IM4JavaException {
ConvertCmd convertCmd = new ConvertCmd();
IMOperation imOperation = new IMOperation();
imOperation.addImage("/home/user/images/image.eps");
imOperation.addImage("/home/user/images/image.png");
convertCmd.run(imOperation);
}
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>lab</groupId>
<artifactId>imagemagick</artifactId>
<version>0.0.1-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>org.im4java</groupId>
<artifactId>im4java</artifactId>
<version>1.4.0</version>
</dependency>
</dependencies>
</project>
答案 1 :(得分:1)
我找到了适当的解决方案。我使用pstoedit.exe和ghostscript将eps文件转换为我的java代码中的svg格式。 谢谢。