如何在 Java 中提取 PDF 頁面

在 Java 中從 PDF 中提取頁面 - 在線分離 PDF 頁面。

如果您正在處理 PDF 文件,您可能會發現自己處於需要從 PDF 文件中提取頁面的情況。從 PDF 文件中提取頁面可能是一項耗時的任務,尤其是當您必須手動執行或處理大型文檔時。幸運的是,借助 GroupDocs.Merger Cloud SDK for Java,您可以輕鬆地以編程方式從 PDF 文件中提取頁面。在本文中,我們將探討如何使用 Java 從 PDF 中提取頁面。

本文應涵蓋以下主題:

Java PDF 頁面提取器 REST API 和 SDK 安裝

GroupDocs.Merger Cloud SDK for Java 是一種基於雲的 API,允許開發人員合併、提取、拆分、重新排序和刪除文件和其他類型的文檔 中的頁面,包括 Word、Excel 、PowerPoint, HTML、PDF 等等。這個功能強大的 SDK 易於使用,可以集成到基於 Java 的應用程序中以自動執行文件操作任務。

您可以 下載 API 的 JAR 文件或使用 Maven 安裝它,方法是將以下存儲庫和依賴項添加到項目的 pom.xml 文件中:

Maven 存儲庫:

<repository>
    <id>groupdocs-artifact-repository</id>
    <name>GroupDocs Artifact Repository</name>
    <url>https://repository.groupdocs.cloud/repo</url>
</repository>

Maven 依賴項:

<dependency>
    <groupId>com.groupdocs</groupId>
    <artifactId>groupdocs-merger-cloud</artifactId>
    <version>23.2</version>
    <scope>compile</scope>
</dependency>

現在,您需要在 GroupDocs 網站上註冊 免費試用帳戶或購買訂閱計劃獲取您的 API 密鑰。獲得客戶端 ID 和客戶端密碼後,將以下代碼片段添加到基於 Java 的應用程序中:

# 註冊後從 https://dashboard.groupdocs.cloud 獲取你的 client_id 和 client_secret。

String ClientId = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
String ClientSecret = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
String MyStorage = "test-internal-storage";
Configuration configuration = new Configuration(ClientId, ClientSecret);

如何在 Java 中通過精確頁碼提取 PDF 頁面

要使用 GroupDocs.Merger Cloud SDK for Java 從 PDF 文件中提取頁面,您需要執行以下步驟:

上傳文件

首先,使用下面給出的代碼示例將 PDF 文件上傳到雲端:

package com.groupdocsdev.classes;

import java.io.File;
import com.groupdocs.cloud.merger.client.*;
import com.groupdocs.cloud.merger.model.*;
import com.groupdocs.cloud.merger.model.requests.*;
import com.groupdocs.cloud.merger.api.*;
import com.groupdocs.cloud.merger.client.ApiException;

// 使用Java上傳文件到雲存儲
public class App {

	public static void main(String[] args) {

		FileApi apiInstance = new FileApi(configuration);
		try {
			File fileStream = new File("H:\\groupdocs-cloud-data\\input-sample-file.pdf");
			UploadFileRequest request = new UploadFileRequest("java-testing\\input-sample-file.pdf", fileStream, MyStorage);
			FilesUploadResult response = apiInstance.uploadFile(request);
			System.out.println("Expected response type is FilesUploadResult: " + response.getUploaded().size());
		} catch (ApiException e) {
			System.err.println("Exception while calling FileApi:");
			e.printStackTrace();
		}
	}
}

因此,上傳的 PDF 文件將在雲端儀表板的 文件部分 中可用。

從 Java 中的 PDF 文件中提取頁面

以下是有關如何使用 GroupDocs.Merger Cloud SDK for Java 從 PDF 文件中提取頁面的分步指南和示例代碼片段:

  • 首先,將所需的類導入到您的 Java 文件中。
  • 其次,創建 PagesApi 類的一個實例。
  • 第三,創建 FileInfo 類的一個實例。
  • 之後,設置源輸入文件路徑。
  • 現在,創建 ExtractOptions() 類的一個實例。
  • 然後,以數組格式定義提取選項 setFileInfo、setOutputPath 和 setPages 集合。
  • 現在,創建 ExtractRequest() 類的實例並傳遞 ExtractOptions 參數。
  • 最後,通過調用 PagesApi 的 extract() 方法並傳遞 ExtractRequest 參數來提取頁面。

以下代碼片段顯示瞭如何使用 REST API 將 PDF 文件分成單獨的頁面:

package com.groupdocsdev.classes;

import java.util.Arrays;
import com.groupdocs.cloud.merger.client.*;
import com.groupdocs.cloud.merger.model.*;
import com.groupdocs.cloud.merger.model.requests.*;
import com.groupdocs.cloud.merger.api.*;
import com.groupdocs.cloud.merger.client.ApiException;

// 如何在 Java 中通過精確頁碼提取 PDF 頁面。
public class App {

	public static void main(String[] args) {

		// 創建頁面 API 的實例。			
		PagesApi apiInstance = new PagesApi(configuration);

		try {

			// 準備設置
			FileInfo fileInfo = new FileInfo();			
			fileInfo.setFilePath("java-testing/input-sample-file.pdf");

			ExtractOptions options = new ExtractOptions();
			options.setFileInfo(fileInfo);
			options.setOutputPath("java-testing/output-sample-file.pdf");
			options.setPages(Arrays.asList(3, 5, 7));

			ExtractRequest request = new ExtractRequest(options);

			DocumentResult response = apiInstance.extract(request);
			
			// 獲取輸出文件路徑
			System.out.println("Output file path: " + response.getPath());
			
		} catch (ApiException e) {
			System.err.println("Exception while calling FileApi:");
			e.printStackTrace();
		}
		
	}
}

下載文件

上面的代碼示例將在雲端保存 PDF 的特定頁面。您可以使用以下代碼示例下載它:

package com.groupdocsdev.classes;

import java.io.File;
import com.groupdocs.cloud.merger.client.*;
import com.groupdocs.cloud.merger.model.requests.*;
import com.groupdocs.cloud.merger.api.*;
import com.groupdocs.cloud.merger.client.ApiException;

// 使用 Java 從雲存儲下載文件
public class App {

	public static void main(String[] args) {

		FileApi apiInstance = new FileApi(configuration);
		try {

			DownloadFileRequest request = new DownloadFileRequest("java-testing\\multipage-documents\\output-sample-file.pdf", MyStorage, null);
			File response = apiInstance.downloadFile(request);
			System.out.println("Expected response type is downloadFile: " + response.length());
		} catch (ApiException e) {
			System.err.println("Exception while calling FileApi:");
			e.printStackTrace();
		}
	}
}

如何使用 Java 按頁面範圍從 PDF 中提取頁面

在本節中,我們將介紹分步指南和示例代碼片段,以通過應用頁面範圍使用 Java 從 PDF 中保存選定頁面:

  • 首先,將所需的類導入到您的 Java 文件中。
  • 其次,創建 PagesApi 類的實例。
  • 第三,創建 FileInfo 類的一個實例。
  • 之後,設置源輸入文件路徑。
  • 現在,創建 ExtractOptions() 類的一個實例。
  • 然後,定義提取選項 setFileInfo、setOutputPath、setStartPageNumber 和 setEndPageNumber。
  • 接下來,將頁面選項 setRangeMode 設置為 EVENPAGES。
  • 現在,創建 ExtractRequest() 類的實例並傳遞 ExtractOptions 參數。
  • 最後,通過調用 PagesApi 的 extract() 方法並傳遞 ExtractRequest 參數來提取頁面。

以下代碼片段展示瞭如何在 Java 中通過應用頁面範圍和模式來提取 PDF 頁面:

package com.groupdocsdev.classes;

import java.util.Arrays;
import com.groupdocs.cloud.merger.client.*;
import com.groupdocs.cloud.merger.model.*;
import com.groupdocs.cloud.merger.model.requests.*;
import com.groupdocs.cloud.merger.api.*;
import com.groupdocs.cloud.merger.client.ApiException;

// 如何使用 Java 按頁面範圍從 PDF 中提取頁面。
public class App {

	public static void main(String[] args) {
		
		// 創建頁面 API 的實例。		
		PagesApi apiInstance = new PagesApi(configuration);

		try {

			// 準備設置
			FileInfo fileInfo = new FileInfo();			
			fileInfo.setFilePath("java-testing/input-sample-file.pdf");

			ExtractOptions options = new ExtractOptions();
			options.setFileInfo(fileInfo);
			options.setOutputPath("java-testing/output-sample-file.pdf");
			options.setStartPageNumber(1);
			options.setEndPageNumber(10);
			options.setRangeMode(PageOptions.RangeModeEnum.EVENPAGES);

			ExtractRequest request = new ExtractRequest(options);

			DocumentResult response = apiInstance.extract(request);
			
			// 獲取輸出文件路徑
			System.out.println("Output file path: " + response.getPath());
			
		} catch (ApiException e) {
			System.err.println("Exception while calling FileApi:");
			e.printStackTrace();
		}
		
	}
}

免費在線 PDF 頁面提取器

如何免費提取PDF頁面?請嘗試使用免費 PDF 頁面提取器 從 PDF 中免費提取特定頁面。此在線 PDF 頁面提取器是使用上述 Groupdocs.Merger Cloud API 開發的。

結論

GroupDocs.Merger Cloud SDK for Java 提供了一種將 PDF 頁面提取為 Java 新 PDF 的簡單方法。以下是您在本文中學到的內容:

  • 如何使用 Java 將 PDF 文件按編號分成多個頁面;
  • 在雲端使用 Java 以編程方式上傳和下載 PDF 文件;
  • 使用頁面範圍將 PDF 分成單獨的頁面;
  • 並使用免費的在線 PDF 頁面提取器免費在線提取 PDF 頁面。

此外,我們還提供了一個 API 參考部分,可讓您直接通過瀏覽器可視化我們的 API 並與之通信。 Java SDK 的完整源代碼可在 Github 上免費獲得。請查看 GroupDocs.Merger Cloud SDK for Java 此處示例

此外,我們建議您按照我們的 入門指南 了解詳細步驟和 API 用法。

最後,我們不斷撰寫有關使用 REST API 的不同文檔操作的新博文。因此,請與我們聯繫以獲取定期更新。

問一個問題

如果您對 PDF 頁面提取器 API 有任何疑問,請隨時在 免費支持論壇 上向我們提問。

常見問題

如何從 Java 中的 PDF 文件中提取頁面?

您可以使用 GroupDocs.Merger Cloud SDK for Java 從 PDF 文件中提取頁面。

是否可以在 Java 中從 PDF 導出單個頁面?

是的,您可以使用 GroupDocs.Merger Cloud SDK for Java 在 Java 中以編程方式將 PDF 頁面提取到單個文件中。

我可以使用 GroupDocs.Merger Cloud SDK for Java 提取哪些文件格式的頁面?

除了 PDF 文件之外,GroupDocs.Merger Cloud SDK for Java 還可以從 Microsoft Word、Excel、PowerPoint, HTML 和其他文件格式 中提取頁面。

也可以看看

以下是一些您可能會覺得有用的相關文章: