如何通过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);

            }

        }

    }

}

 

 

 

posted @ 2022-12-22 11:12  Gia-  阅读(2410)  评论(0编辑  收藏  举报