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

 

posted on 2021-10-21 12:01  周公  阅读(795)  评论(0编辑  收藏  举报

导航