PDF 是最著名的文件格式之一,支持文本、圖形和許多其他元素。它受歡迎的原因之一是它的便攜性。在某些情況下,您可能需要將一個大的 PDF 文件拆分成多個文件。為了以編程方式解決這個問題,本文討論瞭如何在 Java 中拆分 PDF 文件的不同方法。
- 用於拆分 PDF 文件的 Java API
- 將 PDF 拆分為多頁文件
- 將 PDF 拆分為多個單頁文件
- 在 Java 中按範圍從 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 的更多信息,請訪問 文檔。如有疑問,請通過論壇 聯繫我們。