Java实现PDF转图片

    技术2025-09-15  36

    最近工作中涉及PDF转图片的操作,经过测试,pdfbox转换后清晰度相对来说是比较高的

    引入依赖:

    <dependency> <groupId>org.apache.pdfbox</groupId> <artifactId>pdfbox</artifactId> <version>2.0.20</version> </dependency>

    工具类:

    public class PdfToImageUtil { /** * dpi越大转换后越清晰,相对转换速度越慢 */ private static final Integer DPI = 100; /** * 转换后的图片类型 */ private static final String IMG_TYPE = "png"; /** * PDF转图片 * * @param fileContent PDF文件的二进制流 * @return 图片文件的二进制流 */ public static List<byte[]> pdfToImage(byte[] fileContent) throws IOException { List<byte[]> result = new ArrayList<>(); try (PDDocument document = PDDocument.load(fileContent)) { PDFRenderer renderer = new PDFRenderer(document); for (int i = 0; i < document.getNumberOfPages(); ++i) { BufferedImage bufferedImage = renderer.renderImageWithDPI(i, DPI); ByteArrayOutputStream out = new ByteArrayOutputStream(); ImageIO.write(bufferedImage, IMG_TYPE, out); result.add(out.toByteArray()); } } return result; } }

    转换后的效果:

    Processed: 0.013, SQL: 9