2

問題:

Enhanced Metafile Fromat Plus Extension EMF+のイメージがあります。このファイルをJavaでPNG画像ファイルに変換する必要があります。

Java で問題を解決しようとします:

  1. Apache BatikはEMF+形式をサポートしていません(Batik はWMF形式のみをサポートしています)。

  2. FreeHEPEMF+もサポートしていません。EMFSVGに変換してからSVGPNGに変換できます。私はそれが役立つことを望みました:

    EMF2SVG.main( new String[] {inputMetaFileName,ontputSvgFileName});
    

    このステートメントはEMFSVGに変換する必要がありますが、例外があります。

    org.freehep.graphicsio.exportchooser.AbstractExportFileType.getGraphics(AbstractExportFileType.java:261) の java.lang.NullPointerException org.freehep.graphicsio.exportchooser.AbstractExportFileType.exportToFile(AbstractExportFileType.java:248) org.freehep.graphicsio. org.freehep.graphicsio.emf.EMF2SVG.main(EMF2SVG.java:27) で org.freehep.graphicsio.emf.EMFConverter.export(EMFConverter.java:81) で

  3. ここからコードを使用しました:

    try {
        // read the EMF file
        EMFRenderer emfRenderer = new EMFRenderer( new EMFInputStream(
            new ByteArrayInputStream(emfBytes)));
    
        EMFPanel emfPanel = new EMFPanel();
        emfPanel.setRenderer(emfRenderer);
    
        // prepare Graphics2D
        FileOutputStream svg = new FileOutputStream("svg.svg");
        SVGGraphics2D graphics2D = new SVGGraphics2D (svg, emfPanel);
    
        // export to SVG
        graphics2D.startExport();
        emfPanel.print(graphics2D);
        graphics2D.endExport();
        svg.flush();
        svg.close();
    } catch (IOException e) {
        e.printStackTrace();
    }
    

    このコードはSVGファイルを作成しますが、そのファイルには画像がありません。

4

0 に答える 0