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 文档中提取图像
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);
}
}
}
}
复制代码
评论