PDF 是最流行的文件格式之一,幾乎每個企業和行業都在使用它。 PDF 文檔可以包含多種內容,包括格式化文本、圖像、註釋等。通常需要從 PDF 文件中提取內容。在本文的此處,我們將討論如何使用 Java 以編程方式從 PDF 文檔中提取圖像。
從 PDF 文件中提取圖像的 Java API
GroupDocs 為 Java 開發人員提供了 GroupDocs.Parser,用於從 PDF 文件中提取圖像。除了 PDF 文件外,相同的 API 還支持從各種其他文檔格式(如文字處理文檔、電子表格、電子書、演示文稿、電子郵件、ZIP 存檔和許多其他文檔格式 中解析和提取圖像.
下載或配置
您可以從 下載部分 下載 JAR 文件,或者只獲取基於 maven 的 Java 應用程序的 pom.xml 的存儲庫和依賴項配置。
<repository>
<id>groupdocs-artifacts-repository</id>
<name>GroupDocs Artifacts Repository</name>
<url>https://releases.groupdocs.com/java/repo/</url>
</repository>
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-parser</artifactId>
<version>22.11</version>
</dependency>
在 Java 中從 PDF 文檔中提取圖像的步驟
以下分步說明如何使用幾行 Java 代碼從 PDF 文件中獲取圖像。
- 創建一個新項目。
- 如上所述下載 API 或更新到最新的 API 版本。
- 導入以下類:
import com.groupdocs.parser.Parser;
import com.groupdocs.parser.data.PageImageArea;
- 使用 Parser 類加載 PDF 文檔。
// 加載PDF文件
try (Parser parser = new Parser("path/document.pdf")) {
// 圖像提取代碼在這裡。
}
- 使用 getImages 方法從文檔中提取所有圖像。
// 從加載的文件中提取圖像
Iterable<PageImageArea> images = parser.getImages();
- 訪問集合中的每個圖像並使用 save 方法保存它。
// 使用擴展名保存文件
for (PageImageArea image : images) {
image.save(String.format("path/image_%d" + image.getFileType().getExtension(), imageCounter++));
}
圖像可以保存為各種不同的圖像格式,如 PNG、JPG、BMP、WebP 或 GIF。
Java完整代碼——從PDF中提取圖像
這是完整的源代碼,它允許您從提供的 PDF 文件中獲取所有圖像。
// 用Java從PDF文件中提取圖像
try (Parser parser = new Parser("path/document.pdf"))
{
// 獲取圖像
Iterable<PageImageArea> images = parser.getImages();
// 檢查是否支持圖像提取
if (images == null)
{
System.out.println("Images extraction isn't supported");
return;
}
int imageCounter = 0;
// 迭代提取的圖像
for (PageImageArea image : images)
{
image.save(String.format("path/image_%d" + image.getFileType().getExtension(), imageCounter++));
}
}
結果
示例 PDF 文檔
提取圖像
如果您需要,還可以在另一篇文章中解釋如何用 Java 從 PDF 文檔的任何特定頁面中提取圖像。
閱讀更多
您可以使用其 文檔 探索更多關於數據提取 Java API 的信息。您可以通過我們的 論壇 與我們分享您的疑問。