当前位置: 首页 > news >正文

PDF转图片 JAVA

前言

以下是一个使用 Apache PDFBox 将 PDF 文件转换为图片的封装方法。这个方法将会把 PDF 的每一页转换为一张图片,并保存到指定的目录中。

1.添加依赖

首先,你需要在项目中添加 PDFBox 的依赖。如果你使用的是 Maven,可以在 pom.xml 中添加以下依赖:

<dependency><groupId>org.apache.pdfbox</groupId><artifactId>pdfbox</artifactId><version>2.0.29</version> <!-- 使用最新版本 -->
</dependency>

2.转换方法

import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.rendering.PDFRenderer;
import org.apache.pdfbox.rendering.ImageType;import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;public class PDFToImageConverter {/*** 将 PDF 文件转换为图片并保存到指定目录中。** @param pdfFilePath    PDF 文件的路径* @param outputDirPath  输出图片保存的目录* @param imageFormat    图片格式,如 "png", "jpg"* @param dpi            每英寸的点数 (DPI),用于控制图像质量* @throws IOException   如果文件读取或写入时发生错误*/public static void convertPDFToImages(String pdfFilePath, String outputDirPath, String imageFormat, int dpi) throws IOException {File pdfFile = new File(pdfFilePath);PDDocument document = PDDocument.load(pdfFile);PDFRenderer pdfRenderer = new PDFRenderer(document);File outputDir = new File(outputDirPath);if (!outputDir.exists()) {outputDir.mkdirs();}for (int page = 0; page < document.getNumberOfPages(); page++) {BufferedImage bufferedImage = pdfRenderer.renderImageWithDPI(page, dpi, ImageType.RGB);String outputFileName = outputDirPath + File.separator + "page_" + (page + 1) + "." + imageFormat;ImageIO.write(bufferedImage, imageFormat, new File(outputFileName));}document.close();}public static void main(String[] args) {try {String pdfFilePath = "input.pdf";  // 输入 PDF 文件路径String outputDirPath = "output_images";  // 输出图片保存目录String imageFormat = "png";  // 图片格式int dpi = 300;  // DPI 设置,300 是常见的高质量图像设置convertPDFToImages(pdfFilePath, outputDirPath, imageFormat, dpi);System.out.println("PDF 转换为图片成功!");} catch (IOException e) {System.err.println("PDF 转换为图片时发生错误: " + e.getMessage());}}
}

3.方法说明

  • pdfFilePath: 输入的 PDF 文件路径。
  • outputDirPath: 输出图片保存的目录路径。如果目录不存在,会自动创建。
  • imageFormat: 图片格式,例如 "png""jpg"
  • dpi: 图像的 DPI (Dots Per Inch),控制输出图片的分辨率。DPI 越高,图片越清晰。

4.使用说明

main 方法中的路径和参数修改为你自己的文件路径和所需的配置,然后运行程序。程序会将 PDF 的每一页转换为一张图片并保存到指定的输出目录中。


http://www.mrgr.cn/news/1623.html

相关文章:

  • 【Python cv2播放视频修改帧率】
  • smallpdf: 免费高效的PDF水印添加工具
  • Nginx 请求转发配置指南
  • 光伏业务管理软件是如何提高企业管理效率的?
  • 技术爱好者完全用台式机部件定制游戏笔记本电脑
  • C++入门——19C++的类型转换
  • SQL - 查询
  • 基于Spring Boot的疗养院管理系统的设计与实现
  • 【JPCS出版】2024年自动化、电气控制系统与设备国际学术会议(AECSE 2024)
  • Dockerfile常用指令详解
  • telegraf、influxdb、grafana安装配置及后端监听器操作
  • Redis7基础篇(四)
  • Java-Web面试题汇总
  • Java-自定义注解(定义更复杂的自定义注解,例如带有多个成员变量的注解使用讲解)
  • 详细介绍Pytorch基于GPU训练的一般套路(device)
  • 后端开发刷题 | 反转链表【链表篇】
  • C:每日一题:双指针法的使用
  • 大语言模型 - 提示词(Prompt)工程入门
  • PostgreSQL 索引类型保姆级讲解
  • 数据库表优化实践指南