如何通过Java提取PDF中的图片
PDF文档格式具有固定的文档布局,可以避免他人对其进行随意更改。但这也在一定程度上影响了我们对PDF的操作,例如,当我们需要将PDF文档中的图片用于其他地方时。Free Spire.PDF for Java可以帮助我们通过Java语言提取PDF文档中的图片。下面是详细操作步骤和代码。
安装Spire.XLS.Jar
方法一:
如果您使用的是maven,可以通过添加以下代码到项目的pom.xml文件中,将 JAR文件导入到应用程序中。
<repositories> <repository> <id>com.e-iceblue</id> <url>https://repo.e-iceblue.cn/repository/maven-public/</url> </repository> </repositories> <dependencies> <dependency> <groupId>e-iceblue</groupId> <artifactId>spire.xls.free</artifactId> <version>5.1.0</version> </dependency> </dependencies>
方法二:
如果您没有使用maven,则可以从此链接下载Free Spire.XLS for Java,下载完成后,将下载包进行解压;然后在IDEA中创建一个新项目,依次点击“文件”(File),“项目结构”(Project Structure),“组件”(Modules),“依赖项”(Dependencies),再点击右方绿色“+”下的第一个选项“JAR文件或路径”(JARs or Directories),找到之前解压好的文件,并将其中的lib文件夹下的Spire.XLS.jar文件导入到项目中。
从 PDF 文档中提取图像
- 创建一个 PdfDocument 实例并使用 PdfDocument.loadFromFile() 方法加载 PDF 示例文档。
- 遍历文档的所有页面,并使用 PdfPageBase.extractImages()方法从给定页面中提取图像。
- 指定输出文档的路径和名称。
- 将图像另存为.png文件。
import com.spire.pdf.PdfDocument; import com.spire.pdf.PdfPageBase; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import javax.imageio.ImageIO; public class ExtractImage { public static void main(String[] args) throws IOException { //创建一个 PdfDocument 实例 PdfDocument doc = new PdfDocument(); //加载 PDF 示例文档 doc.loadFromFile("sample.pdf"); //定义一个变量 int index = 0; //遍历所有页面 for (PdfPageBase page : (Iterable<PdfPageBase>) doc.getPages()) { //从所给页面提取图片 for (BufferedImage image : page.extractImages()) { //指定输出文档的路径和名称 File output = new File("C:\\Users\\Administrator\\Desktop\\output\\" + String.format("Image_%d.png", index++)); //将图像另存为.png文件 ImageIO.write(image, "PNG", output); } } } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人