java ofd转pdf和jpg

论坛 期权论坛 期权     
选择匿名的用户   2021-6-1 14:05   6506   0

最近刚遇到ofd转jpg百度好友也找不到 好不容易在git上找到的又不全所以自己整理了一下给大家探探路

首先要导入jar包依赖

 <dependency>
            <groupId>org.ofdrw</groupId>
            <artifactId>ofdrw-converter</artifactId>
            <version>1.8.4</version>
        </dependency>
        <dependency>
            <groupId>org.ofdrw</groupId>
            <artifactId>ofdrw-reader</artifactId>
            <version>1.8.4</version>
        </dependency>
        <dependency>
            <groupId>org.ofdrw</groupId>
            <artifactId>ofdrw-core</artifactId>
            <version>1.8.4</version>
        </dependency>

        <dependency>
            <groupId>org.ujmp</groupId>
            <artifactId>ujmp-core</artifactId>
            <version>0.3.0</version>
        </dependency>

        <dependency>
            <groupId>org.ofdrw</groupId>
            <artifactId>ofdrw-pkg</artifactId>
            <version>1.8.4</version>
        </dependency>

这几个都要导入因为他们之间互相依赖 这些jar要用maven依赖手动导入 导入事例如下


mvn install:install-file -Dfile=ujmp-core-0.3.0.jar -DgroupId=org.ujmp -DartifactId=ujmp-core -Dversion=0.3.0 -Dpackaging=jar

我把jar放到百度云盘链接:https://pan.baidu.com/s/17DCEN0li3Izhgfh5T6KtFg 提取码:1234

把它导入maven依赖后就大功告成你只需要调用里面的方法即可

package com.sh.untils;

import org.ofdrw.converter.GeneralConvertException;
import org.ofdrw.converter.ImageMaker;
import org.ofdrw.reader.DLOFDReader;

import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;

import static org.ofdrw.converter.ConvertHelper.ofd2pdf;

/**
 * @program: electroniclicense_xinxiang
 * @description: ofd转jpg和pdf
 * @author: Mr.JZQ
 * @create: 2021-04-17 15:53
 **/

public class OfdConver {
    public static void main(String[] args) {
        //也可以是绝对路径
        Path src = Paths.get("src/test/resources/888.ofd");
        Path dst = Paths.get("target/hhh.pdf");

        try {
            toPdf(src, dst);
        } catch (GeneralConvertException e) {
            e.printStackTrace();
        }
    }


    /**
     * @Description: ofd转jpg
     * @Param: * @param null:
     * @return: * @return: null
     * @Author: Mr.JZQ
     * @Date: 2021年04月17日 0017
     */
    public static void toPng(String filename, String dirPath, String jpgName) throws IOException {
        Files.createDirectories(Paths.get(dirPath));
        //filename文件路径到文件名
        Path src = Paths.get(filename);

        ImageMaker imageMaker = new ImageMaker(new DLOFDReader(src), 15);
        imageMaker.config.setDrawBoundary(false);
        for (int i = 0; i < imageMaker.pageSize(); i++) {
            BufferedImage image = imageMaker.makePage(i);
            //文件要存的路径 第二个是文件名
            Path dist = Paths.get(dirPath, jpgName + ".jpg");
            ImageIO.write(image, "PNG", dist.toFile());
        }
    }

    /**
     * 转PDF
     *
     * @param input  OFD输入文件
     * @param output PDF输出文件路径
     * @throws IllegalArgumentException 参数错误
     * @throws GeneralConvertException  文档转换过程中异常
     */
    public static void toPdf(Path input, Path output) {
        ofd2pdf(input, output);
    }
}

这样就大功告成 开箱即用

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP