在 Java 中將 PDF 拆分為多個文件

PDF 是最著名的文件格式之一,支持文本、圖形和許多其他元素。它受歡迎的原因之一是它的便攜性。在某些情況下,您可能需要將一個大的 PDF 文件拆分成多個文件。為了以編程方式解決這個問題,本文討論瞭如何在 Java 中拆分 PDF 文件的不同方法。

用於拆分 PDF 文件的 Java API

GroupDocs.Merger 提供了合併和拆分多種不同文件格式的解決方案。我們將使用它的 Java API 以不同的方式分割 PDF 文件。從 下載部分 下載 JAR 文件,或者只在您的 Java 應用程序中使用最新的存儲庫和依賴項 Maven 配置。

<repository>
	<id>GroupDocsJavaAPI</id>
	<name>GroupDocs Java API</name>
	<url>http://repository.groupdocs.com/repo/</url>
</repository>
<dependency>
        <groupId>com.groupdocs</groupId>
        <artifactId>groupdocs-merger</artifactId>
        <version>21.9</version> 
</dependency>

在 Java 中將 PDF 文件拆分為多頁文件

以下步驟指導您如何將 PDF 文件拆分為多頁文件:

  • 使用 Merger 類加載 PDF 文件。
  • 定義輸出文件格式。
  • 使用 SplitOptions 定義頁面間隔。
  • 使用 split() 方法根據定義的間隔拆分加載的 PDF。

以下代碼示例顯示瞭如何在 Java 中將 PDF 文件拆分為多頁文件。

/*
 * 在 Java 中將 PDF 文件拆分為多個頁面文件
 */
// 加載 PDF 文件
Merger merger = new Merger("path/document.pdf"); 

// 定義輸出文件格式
String filePathOut = "path/splitPDF_{0}.{1}";

// 定義拆分間隔和拆分模式
SplitOptions splitOptions = new SplitOptions(filePathOut,  new int[] { 3, 6, 8 }, SplitMode.Interval);

// 根據給定的間隔拆分 PDF
merger.split(splitOptions);

在 Java 中將 PDF 文件拆分為多個單頁文件

以下步驟指導您如何拆分 PDF 以將頁面提取為多個單頁文件:

  • 使用 Merger 類加載 PDF 文件。
  • 定義輸出文件格式。
  • 使用 SplitOptions 定義確切的頁碼。
  • 使用 split() 方法根據定義的頁面拆分加載的 PDF。

以下代碼示例顯示瞭如何在 Java 中將 PDF 文件拆分為多個單頁文件。

/*
 * 在 Java 中將 PDF 文件拆分為單頁文件
 */
// 加載 PDF 文件
Merger merger = new Merger("path/document.pdf");

// 定義輸出文件格式
String filePathOut = "path/splitPDF_{0}.{1}"; 

// 定義要提取為單頁文檔的頁面
SplitOptions splitOptions = new SplitOptions(filePathOut, new int[] { 3, 6, 8 });

// 根據拆分選項拆分 PDF
merger.split(splitOptions);

在 Java 中按範圍從 PDF 文件中提取頁面

以下步驟指導如何通過根據給定範圍拆分來從 PDF 中提取頁面:

  • 使用 Merger 類加載 PDF 文件。
  • 定義輸出文件格式。
  • 使用 SplitOptions 提供頁面範圍。
  • 使用 split() 方法根據定義的範圍拆分加載的 PDF。

以下代碼片段顯示瞭如何通過在 Java 中提供範圍來拆分 PDF 和提取頁面。

/*
 * 按給定範圍將 PDF 文件拆分為 Java 中的單頁文件
 */
// 加載 PDF 文件
Merger merger = new Merger("path/document.pdf"); 

// 定義輸出文件格式
String filePathOut = "path/splitPDF_{0}.{1}";

// 定義範圍以提取為單頁文檔
SplitOptions splitOptions = new SplitOptions(filePathOut, 3, 7);

// 根據拆分選項拆分 PDF
merger.split(splitOptions);

在 Java 中使用偶數/奇數過濾器從 PDF 文件中提取頁面

以下步驟指導如何通過拆分從 PDF 文件中提取給定範圍內的偶數/奇數頁:

  • 使用 Merger 類加載 PDF 文件。
  • 定義輸出文件格式。
  • 使用 SplitOptions 提供頁面範圍。
  • 使用 RangeMode 應用偶數、奇數或所有頁面過濾器。
  • 使用 split() 方法根據定義的過濾器拆分加載的 PDF。

以下代碼片段顯示瞭如何使用 Java 提取 PDF 文件定義範圍內的所有奇數/偶數頁。

/*
 * 通過給定範圍和過濾器(偶數/奇數頁)將 PDF 文件拆分為 Java 中的單頁文件
 */
// 加載 PDF 文件
Merger merger = new Merger("path/document.pdf"); 

// 定義輸出文件格式
String filePathOut = "path/splitPDF_{0}.{1}";

// 定義範圍和過濾器以將給定範圍內的所有奇數頁提取為單頁文檔
SplitOptions splitOptions = new SplitOptions(filePathOut, 3, 7, (Integer)RangeMode.OddPages);

// 根據拆分選項拆分 PDF
merger.split(splitOptions);

代碼更改摘要

上述場景中唯一不同的是創建 SplitOptions 的方式。您可以根據代碼中的要求使用以下配置。

  • 對於多頁文件 - 使用間隔:[1,2]、[3,4,5]、[6,7]、[8,9,10]。
new SplitOptions(outputFile,  new int[] { 3, 6, 8 }, SplitMode.Interval)
  • 個人頁面:[3]、[6]、[8]
new SplitOptions(outputFile, new int[] { 3, 6, 8 });
  • 提取範圍內的頁面:[3]、[4]、[5]
new SplitOptions(outputFile, 3, 5);
  • 帶過濾器的範圍:[3]、[5]、[7]
new SplitOptions(outputFile, 3, 7, (Integer)RangeMode.OddPages);

獲取免費的 API 許可證

您可以獲得免費的臨時許可證,以便在不受評估限制的情況下使用 API。

結論

總而言之,您已經學習了在 Java 中拆分 PDF 文件的不同方法。首先,我們將 PDF 文件拆分為多頁文檔和幾個單頁文檔。然後我們一張一張地提取給定範圍內的PDF文件的所有頁面,偶數/奇數頁。現在您應該有信心使用 GroupDocs.Merger API 構建您自己的 PDF 拆分器 Java 應用程序。

要了解有關 API 的更多信息,請訪問 文檔。如有疑問,請通過論壇 聯繫我們。

也可以看看