PDF文件易于查看和读取,而内部内容可能很难修改。但是,您可能不可避免地会遇到一种情况,您需要为其他目的提取PDF文件中的图像。本文将分享如何使用java的free spire.pdf编程实现此任务。
导入依赖性(2种方法)
方法1: Download the free library并解开它。然后将spire.pdf.jar文件添加到您的项目中作为依赖项。
方法2:通过将以下配置添加到pom.xml。
<repositories>
<repository>
<id>com.e-iceblue</id>
<name>e-iceblue</name>
<url>https://repo.e-iceblue.com/nexus/content/groups/public/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>e-iceblue</groupId>
<artifactId>spire.pdf.free</artifactId>
<version>5.1.0</version>
</dependency>
</dependencies>
示例代码
要从PDF文档中提取图像,您可以使用Spire.pdf为Java提供的 pdfpagebase.extractimages()方法。以下是完整的示例代码。
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 {
//create a PdfDocument instance
PdfDocument doc = new PdfDocument();
//load a PDF sample file
doc.loadFromFile("template.pdf");
//declare an int variable
int index = 0;
//loop through all pages
for (PdfPageBase page : (Iterable<PdfPageBase>) doc.getPages()) {
//extract images from the given page
for (BufferedImage image : page.extractImages()) {
//specify the file path and name
File output = new File("C:\\Users\\Administrator\\Desktop\\ExtractedImages\\" + String.format("Image_%d.png", index++));
//save images as .png files
ImageIO.write(image, "PNG", output);
}
}
}
}