簡體   English   中英

需要使用 java 將 EMF 轉換為 jpeg,png 文件格式

[英]Need to convert EMF to jpeg,png file formats using java

我需要使用完整的 Java 代碼將 emf、wmf 文件格式轉換為 png 或 jpeg(因為某些瀏覽器不支持這些格式)。任何人都可以指導我。

提前致謝

最快的方法可能是使用Imagemagick 它確實支持EMF 和 WMF 格式。 我已經使用im4java成功地使用了 Java 中的 Imagemagick ,它是 Imagemagick 的 Java 接口。

或者,您可以查看Jmagick ,這是 Imagemagick 的另一個 Java 接口。 我發現這個使用起來更復雜。

其他選項: FreeHEPApache Batik 不過我沒試過。

純 Java 解決方案是 TwelveMonkeys 與 Batik 支持讀取 WMF 文件。

Batik 只能處理帶有 Aldus Placable Header 的舊 WMF,無法解析某些其他類型(最近在 MS Office 元數據中)。 參見 WMF 格式: http : //wvware.sourceforge.net/caolan/ora-wmf.html

提供的解決方法: https : //github.com/haraldk/TwelveMonkeys/issues/35用“假”Aldus Placable Header 包裝最近的 WMF,然后傳遞給 Batik。

否則,ImageMagick (IM) 是帶有安裝程序的簡單解決方案。 順便說一句,即使使用最近的 IM,WMF 也無法在 Linux 中正確轉換(返回黑色圖像)。

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

你可以從java程序運行它。 不幸的是,我還沒有看到純 Java 解決方案。 會很高興知道是否存在。

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();
        }
    }


}

如果您使用的是 Windows,您必須做的第一件事是訪問https://imagemagick.org/script/download.php並下載 ImageMagick-7.0.10-22-Q16-HDRI-x64-dll.exe。 但是當您看到安裝選項時要小心,您必須選擇安裝遺留實用程序(例如轉換)。(這非常重要)。 安裝后,只需使用 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 我花了很多時間來弄清楚。 我希望它可以幫助任何需要這樣的人。 祝你好運。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM