Java pdf转jpg



    org.apache.pdfbox
    fontbox
    2.0.26


    org.apache.pdfbox
    pdfbox
    2.0.26
PdfToJpgUtil.jpg
package com.qyj.utils;

import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPageTree;
import org.apache.pdfbox.rendering.PDFRenderer;

import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.*;

public class PdfToJpgUtil {
    public static void main(String[] args) throws Exception {
        System.out.println("---TestMain");

        PdfToJpgUtil.pdfToImageFile();

        System.out.println("---Finish!");
    }

    private static void pdfToImageFile() throws Exception {
        PDDocument doc = null;
        ByteArrayOutputStream os = null;
        InputStream stream = null;
        OutputStream out = null;
        try {
            // pdf路径
            stream = new FileInputStream("D:/20220604143108752.pdf");
            // 加载解析PDF文件
            doc = PDDocument.load(stream);
            PDFRenderer pdfRenderer = new PDFRenderer(doc);
            PDPageTree pages = doc.getPages();
            int pageCount = pages.getCount();
            for (int i = 0; i < pageCount; i++) {
                BufferedImage bim = pdfRenderer.renderImageWithDPI(i, 200);
                os = new ByteArrayOutputStream();
                ImageIO.write(bim, "jpg", os);
                byte[] dataList = os.toByteArray();
                // jpg文件转出路径
                File file = new File("D:/hello_" + i + ".jpg");
                if (!file.getParentFile().exists()) {
                    // 不存在则创建父目录及子文件
                    file.getParentFile().mkdirs();
                    file.createNewFile();
                }
                out = new FileOutputStream(file);
                out.write(dataList);
            }
        } catch (Exception e) {
            e.printStackTrace();
            throw e;
        } finally {
            if (doc != null) doc.close();
            if (os != null) os.close();
            if (stream != null) stream.close();
            if (out != null) out.close();
        }
    }

    /**
     * pdf转Jpg
     * @throws Exception
     */
    public static void pdfToJpg(String fileFullPathIn, String fileFullPathOut) throws Exception {
        PDDocument doc = null;
        ByteArrayOutputStream os = null;
        InputStream stream = null;
        OutputStream out = null;
        try {
            // pdf路径
            stream = new FileInputStream(fileFullPathIn);
            // 加载解析PDF文件
            doc = PDDocument.load(stream);
            PDFRenderer pdfRenderer = new PDFRenderer(doc);
            //只转一页
            BufferedImage bim = pdfRenderer.renderImageWithDPI(0, 200);
            os = new ByteArrayOutputStream();
            ImageIO.write(bim, "jpg", os);
            byte[] dataList = os.toByteArray();
            // jpg文件转出路径
            File file = new File(fileFullPathOut);
            if (!file.getParentFile().exists()) {
                // 不存在则创建父目录及子文件
                file.getParentFile().mkdirs();
                file.createNewFile();
            }
            out = new FileOutputStream(file);
            out.write(dataList);
        } catch (Exception e) {
            e.printStackTrace();
            throw e;
        } finally {
            if (doc != null) doc.close();
            if (os != null) os.close();
            if (stream != null) stream.close();
            if (out != null) out.close();
        }
    }
}

参考文献:java将pdf转换为jpg图片格式 - 菜鸟玩Java - 博客园 

你可能感兴趣的:(Java,java,eureka,开发语言)