您可能需要以編程方式將 PDF 文件拆分為多個文件。通過拆分 PDF 文檔,您可以輕鬆提取特定信息或一組數據並與利益相關者共享。作為 Node.js 開發人員,您可以在雲端將 PDF 文檔拆分為多個文檔。在本文中,您將學習如何在 Node.js 中使用 REST API 拆分 PDF 文檔。
本文應涵蓋以下主題:
- PDF 拆分器 REST API 和 Node.js SDK
- 使用 Node.js 中的 REST API 將 PDF 文檔拆分為單頁文檔
- 使用 Node.js 將 PDF 文件拆分為多頁 PDF 文檔
- 在 Node.js 中使用 REST API 按頁面範圍提取頁面
PDF 拆分器 REST API 和 Node.js SDK
為了拆分 PDF 文件,我將使用 GroupDocs.Merger Cloud 的 Node.js SDK API。它允許您從 Word、Excel、PowerPoint 的 支持的文檔格式 中拆分、合併、刪除和重新排列單個頁面或一組頁面, Visio 繪圖、PDF 和 HTML。
您可以在控制台中使用以下命令將 GroupDocs.Merger Cloud 安裝到您的 Node.js 應用程序:
npm install groupdocs-merger-cloud
在執行上述步驟之前,請從儀表板獲取您的客戶端 ID 和密碼。獲得 ID 和密碼後,添加如下所示的代碼:
global.clientId = "112f0f38-9dae-42d5-b4fc-cc84ae644972";
global.clientSecret = "16ad3fe0bdc39c910f57d2fd48a5d618";
global.myStorage = "";
const configuration = new groupdocs_merger_cloud.Configuration(clientId, clientSecret);
configuration.apiBaseUrl = "https://api.groupdocs.cloud";
使用 Node.js 中的 REST API 將 PDF 文檔拆分為單頁文檔
您可以按照以下簡單步驟在雲端以編程方式拆分 PDF 文件:
- 上傳 the PDF file to the Cloud
- 在 Node.js 中使用 REST API 拆分 PDF 文檔
- 下載 the separated files
上傳 PDF 文件
首先,使用下面給出的代碼示例將 PDF 文件上傳到雲端:
// 構造FileApi
let fileApi = groupdocs_merger_cloud.FileApi.fromConfig(configuration);
let file = 'C:\\Files\\merger\\ten-pages.pdf';
// 一個一個地讀取文件
fs.readFile(file, (err, fileStream) => {
// 創建上傳文件請求
let request = new groupdocs_merger_cloud.UploadFileRequest("ten-pages.pdf", fileStream, myStorage);
// 上傳文件
fileApi.uploadFile(request)
});
因此,上傳的 PDF 文件將在雲端儀表板的 文件部分 中可用。
在 Node.js 中使用 REST API 拆分 PDF 文檔
您可以按照以下給出的步驟,以編程方式輕鬆地將任何 PDF 文件的頁面拆分為單獨的 PDF 文檔,其中包含文檔中的一頁:
- 創建 DocumentApi 的實例。
- 創建 FileInfo 的實例。
- 然後,設置輸入 PDF 文件的路徑。
- 創建 SplitOptions 的實例。
- 然後,將 FileInfo 分配給 SplitOptions。
- 在逗號分隔數組中設置特定頁碼以拆分文檔。
- 另外,將文檔拆分模式設置為頁面。它允許 API 將逗號分隔數組中給出的頁碼拆分為單獨的 PDF 文檔。
- 使用 SplitOptions 創建 SplitRequest。
- 最後,用 SplitRequest 調用 DocumentAPI.split() 方法並得到結果。
以下代碼片段顯示瞭如何在 Node.js 中使用 REST API 拆分 PDF 文件。
// 接口初始化
let documentApi = groupdocs_merger_cloud.DocumentApi.fromKeys(clientId, clientSecret);
// 提供輸入文件路徑
let fileInfo = new groupdocs_merger_cloud.FileInfo();
fileInfo.filePath = "ten-pages.pdf";
// 定義拆分選項
let options = new groupdocs_merger_cloud.SplitOptions();
options.fileInfo = fileInfo;
options.outputPath = "Output";
options.pages = [1, 3];
options.mode = groupdocs_merger_cloud.SplitOptions.ModeEnum.Pages;
// 創建拆分請求
let splitRequest = new groupdocs_merger_cloud.SplitRequest(options);
// 拆分文檔
let result = await documentApi.split(splitRequest);
result.documents.forEach(element => {
console.log("Document Path: " + element.path);
});
下載拆分文件
上面的代碼示例會將分離的文件保存在雲端。您可以使用以下代碼示例下載它們:
// 初始化接口
let fileApi = groupdocs_merger_cloud.FileApi.fromConfig(configuration);
let folderApi = new groupdocs_merger_cloud.FolderApi(configuration);
// 檢索文件列表
var listRequest = new groupdocs_merger_cloud.GetFilesListRequest("Output", myStorage);
let res = await folderApi.getFilesList(listRequest);
res.value.forEach(element => {
// 下載文件
var request = new groupdocs_merger_cloud.DownloadFileRequest(element.name, myStorage);
fileApi.downloadFile(request)
.then(function (response) {
// 將圖像文件保存在工作目錄中
fs.writeFile("C:\\Files\\merger\\downloads\\" + element.name, response, "binary", function (err) { });
console.log("Expected response type is Stream: " + response.length);
})
.catch(function (error) {
console.log("Error: " + error.message);
});
});
使用 Node.js 將 PDF 文件拆分為多頁 PDF 文檔
您可以按照以下步驟以編程方式將 PDF 文件拆分為多頁 PDF 文檔:
- 創建 DocumentApi 的實例。
- 創建 FileInfo 的實例。
- 然後,設置輸入 PDF 文件的路徑。
- 創建 SplitOptions 的實例。
- 然後,將 FileInfo 分配給 SplitOptions。
- 在逗號分隔的數組中設置頁碼間隔。
- 此外,將文檔拆分模式設置為間隔。它允許 API 根據逗號分隔數組中給定的頁面間隔拆分文檔頁面。
- 使用 SplitOptions 創建 SplitRequest。
- 最後,用 SplitRequest 調用 DocumentAPI.split() 方法並得到結果。
以下代碼片段顯示瞭如何使用 Node.js 中的 REST API 將 PDF 文件拆分為多頁 PDF 文檔。
// 接口初始化
let documentApi = groupdocs_merger_cloud.DocumentApi.fromKeys(clientId, clientSecret);
// 提供輸入文件路徑
let fileInfo = new groupdocs_merger_cloud.FileInfo();
fileInfo.filePath = "ten-pages.pdf";
// 定義拆分選項
let options = new groupdocs_merger_cloud.SplitOptions();
options.fileInfo = fileInfo;
options.outputPath = "Output";
options.pages = [3, 6, 8];
options.mode = groupdocs_merger_cloud.SplitOptions.ModeEnum.Intervals;
// 創建拆分請求
let splitRequest = new groupdocs_merger_cloud.SplitRequest(options);
// 拆分文檔
let result = await documentApi.split(splitRequest);
result.documents.forEach(element => {
console.log("Document splitted: " + element.path);
});
在 Node.js 中使用 REST API 按頁面範圍提取頁面
您可以按照以下步驟以編程方式提供一系列頁碼,從而從 PDF 文件中提取和保存頁面:
- 創建 DocumentApi 的實例。
- 創建 FileInfo 的實例。
- 然後,設置輸入 PDF 文件的路徑。
- 創建 SplitOptions 的實例。
- 然後,將 FileInfo 分配給 SplitOptions。
- 設置起始頁碼和結束頁碼。
- 另外,將文檔拆分模式設置為頁面。
- 使用 SplitOptions 創建 SplitRequest。
- 最後,用 SplitRequest 調用 DocumentAPI.split() 方法並得到結果。
以下代碼片段顯示瞭如何使用 Node.js 中的 REST API 按頁碼範圍拆分 PDF 文件。
// 接口初始化
let documentApi = groupdocs_merger_cloud.DocumentApi.fromKeys(clientId, clientSecret);
let fileInfo = new groupdocs_merger_cloud.FileInfo();
fileInfo.filePath = "ten-pages.pdf";
// 定義拆分選項
let options = new groupdocs_merger_cloud.SplitOptions();
options.fileInfo = fileInfo;
options.outputPath = "Output";
options.startPageNumber = 3;
options.endPageNumber = 7;
options.mode = groupdocs_merger_cloud.SplitOptions.ModeEnum.Pages;
// 創建拆分請求
let splitRequest = new groupdocs_merger_cloud.SplitRequest(options);
// 拆分文檔
let result = await documentApi.split(splitRequest);
result.documents.forEach(element => {
console.log("Document splitted: " + element.path);
});
在線試用
請試用以下使用上述 API 開發的免費在線 PDF 拆分器工具。 https://products.groupdocs.app/splitter/pdf/
結論
在本文中,您了解瞭如何在雲端使用 REST API 拆分 PDF 文檔。此外,您還了解瞭如何以編程方式將 PDF 文件拆分為多頁 PDF 文檔。本文還介紹瞭如何以編程方式將 PDF 文件上傳到雲端,然後從雲端下載分離的文件。 API 還使您能夠重新排序或替換文檔頁面、更改頁面方向、管理文檔密碼以及對任何支持的文件格式輕鬆執行其他操作。此外,您可以使用 文檔 了解有關 GroupDocs.Merge Cloud API 的更多信息。我們還提供了一個 API 參考 部分,讓您可以直接通過瀏覽器可視化我們的 API 並與之交互。如有任何歧義,請隨時在論壇上與我們聯繫。