需要使用java将EMF转换为jpeg,png文件格式

时间:2011-02-01 10:26:53

标签: java image-processing

我需要使用完整的java代码将emf,wmf文件格式转换为png或jpeg(因为某些浏览器不支持这些格式)..任何人都可以指导我..

提前致谢

5 个答案:

答案 0 :(得分:4)

最快的方法可能是使用Imagemagick。它确实support EMF和WMF格式。我使用im4java成功地使用了来自Java的Imagemagick,这是Imagemagick的Java接口。

另外,您可以查看Imagemagick的另一个Java界面Jmagick。我发现这个更复杂。

答案 1 :(得分:1)

其他选项:FreeHEPApache Batik。不过我还没试过。

答案 2 :(得分:0)

快速调查显示以下命令行实用程序:http://www.verypdf.com/htmltools/html-converter/emf-to-bmp.html

您可以从java程序运行它。不幸的是我还没有看到纯java解决方案。很高兴知道是否存在。

答案 3 :(得分:0)

纯java解决方案是TwelveMonkeys,Batik支持读取WMF文件。

IBatik只能处理带有Aldus Placable Header的旧WMF,无法解析其他一些类型(最近在MS Office元数据中)。 请参阅WMF格式:http://wvware.sourceforge.net/caolan/ora-wmf.html

https://github.com/haraldk/TwelveMonkeys/issues/35中提供的工作区用最近的WMF包装假的Aldus Placable Header,然后传递给iBatik。

否则,ImageMagick(IM)是安装程序的简单解决方案。顺便说一句,即使使用最近的IM,WMF也无法在Linux中正确转换(返回黑色图像)。

答案 4 :(得分:0)

import org.im4java.core.ConvertCmd;
import org.im4java.core.IM4JavaException;
import org.im4java.core.IMOperation;
import org.im4java.process.ProcessStarter;

import java.io.File;
import java.io.IOException;

public class converter {
    public static void main(String arg[]) throws InterruptedException, IOException, IM4JavaException {
        String myPath="C:\\Program Files\\ImageMagick-7.0.10-Q16-HDRI";
        ProcessStarter.setGlobalSearchPath(myPath);

        String input="C:\\Users\\Bagra\\Desktop\\emf files\\two.emf";
        String output="C:\\Users\\Bagra\\Desktop\\emf files\\out2.jpg";

        convert(input,output);
    }
    public static void convert(String input,String output)
    {
        try{
            IMOperation img=new IMOperation();
            img.addImage();
            img.addImage();
            ConvertCmd convert=new ConvertCmd()`enter code here`;
            convert.run(img,new Object[]{input,output});
        }
        catch(Exception e)
        {
            e.printStackTrace();
        }
    }


}

您要做的第一件事是https://imagemagick.org/script/download.php,如果您使用的是Windows,请下载ImageMagick-7.0.10-22-Q16-HDRI-x64-dll.exe。 但是,当您看到安装选项时,请务必谨慎选择安装旧版实用程序(例如convert)。(这很重要)。 安装后,只需使用Java创建一个简单的控制台应用程序即可。

    String myPath="C:\\Program Files\\ImageMagick-7.0.10-Q16-HDRI";
    ProcessStarter.setGlobalSearchPath(myPath); 

您必须将搜索路径设置为已安装目录。 然后选择一个emf文件和不存在的jpg路径。 有关更多详细信息,您可以关注http://im4java.sourceforge.net/docs/dev-guide.html。 我花了很多时间弄清楚。我希望它可以帮助需要此类内容的任何人。 祝你好运。