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