在 Node.js 中使用 REST API 拆分 PDF 文檔

您可能需要以編程方式將 PDF 文件拆分為多個文件。通過拆分 PDF 文檔,您可以輕鬆提取特定信息或一組數據並與利益相關者共享。作為 Node.js 開發人員,您可以在雲端將 PDF 文檔拆分為多個文檔。在本文中,您將學習如何在 Node.js 中使用 REST API 拆分 PDF 文檔。

本文應涵蓋以下主題:

PDF 拆分器 REST API 和 Node.js SDK

為了拆分 PDF 文件,我將使用 GroupDocs.Merger Cloud 的 Node.js SDK API。它允許您從 WordExcelPowerPoint支持的文檔格式 中拆分、合併、刪除和重新排列單個頁面或一組頁面, Visio 繪圖PDFHTML

您可以在控制台中使用以下命令將 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 文件:

上傳 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);
});
使用 Node.js 將 PDF 文件拆分為單頁文檔

使用 Node.js 將 PDF 文件拆分為單頁文檔

下載拆分文件

上面的代碼示例會將分離的文件保存在雲端。您可以使用以下代碼示例下載它們:

// 初始化接口
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 將 PDF 文件拆分為多頁 PDF 文檔

使用 Node.js 將 PDF 文件拆分為多頁 PDF 文檔

在 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);
});
在 Node.js 中使用 REST API 按頁面範圍提取頁面

在 Node.js 中使用 REST API 按頁面範圍提取頁面

在線試用

請試用以下使用上述 API 開發的免費在線 PDF 拆分器工具。 https://products.groupdocs.app/splitter/pdf/

結論

在本文中,您了解瞭如何在雲端使用 REST API 拆分 PDF 文檔。此外,您還了解瞭如何以編程方式將 PDF 文件拆分為多頁 PDF 文檔。本文還介紹瞭如何以編程方式將 PDF 文件上傳到雲端,然後從雲端下載分離的文件。 API 還使您能夠重新排序或替換文檔頁面、更改頁面方向、管理文檔密碼以及對任何支持的文件格式輕鬆執行其他操作。此外,您可以使用 文檔 了解有關 GroupDocs.Merge Cloud API 的更多信息。我們還提供了一個 API 參考 部分,讓您可以直接通過瀏覽器可視化我們的 API 並與之交互。如有任何歧義,請隨時在論壇上與我們聯繫。

也可以看看