ofd轉換


添加jar

<dependency>
    <groupId>org.ofdrw</groupId>
    <artifactId>ofdrw-converter</artifactId>
    <version>1.9.4</version>
</dependency>

轉圖片

public class HelloWorld {
    public static void main(String[] args) {
        // 1. 文件輸入路徑
        Path src = Paths.get("發票示例.ofd");
        // 2. 加載指定目錄字體(非必須)
        // FontLoader.getInstance().scanFontDir(new File("src/test/resources/fonts"));
        // 3. 創建轉換轉換對象,設置 每毫米像素數量(Pixels per millimeter)
        ImageMaker imageMaker = new ImageMaker(new OFDReader(src), 15);
        for (int i = 0; i < imageMaker.pageSize(); i++) {
            // 4. 指定頁碼轉換圖片
            BufferedImage image = imageMaker.makePage(i);
            Path dist = Paths.get("target", i + ".png");
            // 5. 存儲為指定格式圖片
            ImageIO.write(image, "PNG", dist.toFile());
        }
    }
}

轉pdf

public class HelloWorld {

    public static void main(String[] args) {
        // 1. 文件輸入路徑
        Path src = Paths.get("發票示例.ofd");
        // 2. 轉換后文件輸出位置
        Path dst = Paths.get("發票示例.pdf");
        try {
            // 3. OFD轉換PDF
            ConvertHelper.toPdf(src, dst);
            System.out.println("生成文檔位置: " + dst.toAbsolutePath());
        } catch (GeneralConvertException e) {
            // GeneralConvertException 類型錯誤表明轉換過程中發生異常
            e.printStackTrace();
        }
    }
}

轉svg

public class HelloWorld {
    public static void main(String[] args) {
        // 1. 文件輸入路徑
        Path src = Paths.get("發票示例.ofd");
        // 2. 加載指定目錄字體(非必須)
        // FontLoader.getInstance().scanFontDir(new File("src/test/resources/fonts"));
        // 3. 創建轉換轉換對象,設置 每毫米像素數量(Pixels per millimeter)
        SVGMaker svgMaker = new SVGMaker(new OFDReader(src), 20);
        for (int i = 0; i < imageMaker.pageSize(); i++) {
            // 4. 指定頁碼轉換SVG,得到SVG(XML)
            String svg = svgMaker.makePage(i);
            Path dist = Paths.get("target", i + ".svg");
            // 5. 存儲到文件。
            Files.write(dist, svg.getBytes());
        }
    }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM