赞
踩
PDFBox是一个用于创建和处理PDF文档的Java库。它可以使用Java代码创建、读取、修改和提取PDF文档中的内容。
PDFBox的功能:
Extract Text - 使用PDFBox,您可以从PDF文件中提取Unicode文本。
Split & Merge - 使用PDFBox,您可以将单个PDF文件分成多个文件,并将它们合并为一个文件。
Fill Forms - 使用PDFBox,您可以在文档中填写表单数据。
Print - 使用PDFBox,您可以使用标准Java打印API打印PDF文件。
Save as Image - 使用PDFBox,您可以将PDF保存为图像文件,如PNG或JPEG。
Create PDFs - 使用PDFBox,您可以通过创建Java程序创建新的PDF文件,还可以包含图像和字体。
Signing - 使用PDFBox,您可以将数字签名添加到PDF文件。
本项目除了引入pdfbox的依赖之外,还引入了解决图像问题的其他依赖。
例如:jai-imageio-jpeg2000
和jai-imageio-core
是为了解决在转换图像时报错:Cannot read JPEG2000 image: Java Advanced Imaging (JAI) Image I/O Tools are not installed
jbig2-imageio
依赖引入是为了解决使用pdfbox2.0将PDF转换为图片时后台报Cannot read JBIG2 image: jbig2-imageio is not installed
错误
<!-- pdf提取封面依赖--> <dependency> <groupId>org.apache.pdfbox</groupId> <artifactId>pdfbox</artifactId> <version>2.0.22</version> </dependency> <dependency> <groupId>org.apache.pdfbox</groupId> <artifactId>pdfbox-tools</artifactId> <version>2.0.22</version> </dependency> <dependency> <groupId>org.apache.pdfbox</groupId> <artifactId>jbig2-imageio</artifactId> <version>3.0.2</version> </dependency> <!-- 解決提取pdf "Cannot read JPEG2000 image"封面失败问题 --> <dependency> <groupId>com.github.jai-imageio</groupId> <artifactId>jai-imageio-core</artifactId> <version>1.3.1</version> </dependency> <dependency> <groupId>com.github.jai-imageio</groupId> <artifactId>jai-imageio-jpeg2000</artifactId> <version>1.3.0</version> </dependency>
单个或者批量提取pdf的首页作为封面,或者可以实现提取指定pdf页为图像
核心工具类方法:PdfUtils.getPdfFirstImage
package com.zhouquan.utils;
import lombok.extern.slf4j.Slf4j;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.rendering.ImageType;
imp
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。