首页 > 编程语言 >如何通过Java提取PDF中的图片

如何通过Java提取PDF中的图片

时间:2022-12-22 11:22:46浏览次数:68  
标签:文件 提取 PdfDocument Java 文档 import 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);

            }

        }

    }

}

 

 

 

标签:文件,提取,PdfDocument,Java,文档,import,PDF
From: https://www.cnblogs.com/Gia-/p/16997988.html

相关文章

  • jmeter关联之正则表达式提取器的用法-软件测试知识
    如果有这样的情况:一个完整的操作流程,需要先完成某个操作,获得某个值或数据信息,然后才能进行下一步的操作(也就是常说的关联/将上一个请求的响应结果作为下一个请求的参......
  • java 查看对象占用内存大小(代码库)
    <dependency><groupId>com.carrotsearch</groupId><artifactId>java-sizeof</artifactId><version>0.0.5</version></dependency>importcom.carrotse......
  • Java学习笔记5
    1.方法概述概念​ 方法(method)是程序中最小的执行单元。注意:方法必须先创建才可以使用,该过程称为方法的定义。方法创建后并不是直接可以运行的,进行方法的调用才会执......
  • PDF页面大小不一样,怎样调整一致?
    PDF尺寸如何修改?PDF是Abode公司旗下开发用于跨平台支持多媒体集成信息的出版和发布,尤其是提供对网络信息发布支持的文档格式。使用PDF文档时,可能会遇到文档的纸张大小不一......
  • 多个NX版本实现java调用
    设置环境变量只能实现一个NX版本的调用如果一台电脑上有几个NX版本就要把环境变量删了单独去设置 找到安装各个NX版本安装目录下的ugii文件夹里的ugii_env.dat文件#NX......
  • 教你用Java实现动态调色板
    案例介绍欢迎来到我的小院,我是霍大侠,恭喜你今天又要进步一点点了!我们来用Java编程实战案例,做一个动态调色板。案例界面会出现三个滑动组块以及对应的数值,通过移动滑块可以......
  • Java 中 int 和 Integer 的区别,为什么要有包装类?
    前言Java是一门强类型语言,所以在Java中,所有的数据都必须有自己的数据类型,这就像“山姆商店”的会员制一样,你是会员才能进入,在Java中也是如此,每一个数据必须有自己的......
  • MyEclipse技术全面解析——不脱离Java IDE的Maven项目管理
    从JavaIDE内部管理项目和构建,标准的项目结构、简化的POM编辑和内置于MyEclipse菜单中的启动命令使Maven项目管理触手可及。MyEclipsev2022.1.0正式版下载通过单击管理M......
  • JavaSE-day04-基本概念-数据类型&标识符&键盘录入
    Java基本概念本章包含数据类型,标识符以及键盘录入!数据类型数据类型的分类1.基本数据类型Java中基本数据类型分为4类8种。1.整数:byte,short,int,long细节:整数的......
  • JavaSE-day01-Java入门
    Java的三大使用平台Java有三大平台:JavaSE,JavaEE,JavaMEJavaSE介绍JavaSE是Java语言的标准版,用于桌面应用的开发,是其他两个版本的基础。桌面应用用户只要打......