如何使用 Node.js 在線從 word 文檔中提取頁面

如何使用 Node.js 從 Word DOC/DOCX Online 中提取頁面

您可能需要以編程方式將 word 文檔頁面提取到多個文檔中。通過拆分 word 文檔,您可以輕鬆地從 word 文檔中提取頁面,並與利益相關者共享特定的信息或數據。作為 Node.js 開發人員,您可以在線將 word 文檔提取到雲端的單獨文件中。在本文中,您將學習如何使用 Node.js 在線從 word DOC/DOCX 中提取頁面。

本文應涵蓋以下主題:

Word 頁面提取器在線 REST API 和 Node.js SDK

為了從 Word 文檔中提取頁面,我將使用 GroupDocs.Merger Cloud 的 Node.js SDK API。它是在線 Word 頁面提取器免費下載庫。它允許您從 WordExcelPowerPoint支持的文檔格式 中拆分、組合、提取、刪除和重新排列單個頁面或頁面集合]、Visio 繪圖PDFHTML

您可以安裝 GroupDocs.Merger cloud 以在控制台中使用以下命令從您的 Node.js 應用程序中提取 Word 頁面:

npm install groupdocs-merger-cloud

在執行上述步驟之前,請從儀表板獲取您的客戶端 ID 和密碼。獲得 ID 和密碼後,添加如下所示的代碼:

# 從 http://api.groupdocs.cloud 在您的節點應用程序中導入 Node.js SDK
global.groupdocs_merger_cloud = require("groupdocs-merger-cloud");
global.fs = require("fs");

// 從 https://dashboard.groupdocs.cloud 獲取 clientId 和 clientSecret(需要免費註冊)。
global.clientId = "xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
global.clientSecret = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
global.myStorage = "test-internal-storage";
const config = new groupdocs_merger_cloud.Configuration(clientId, clientSecret);
config.apiBaseUrl = "https://api.groupdocs.cloud";

通過精確頁碼從 Word 中提取頁面到新文檔中

您可以按照以下簡單步驟以編程方式從雲端的 Word 文件中導出特定頁面:

上傳Word文件

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

// 從系統驅動器打開 IOStream 中的文件。
var resourcesFolder = 'H:\\groupdocs-cloud-data\\input-sample-file.docx';
// 讀取文件
fs.readFile(resourcesFolder, (err, fileStream) => {
  // 構建FileApi
  var fileApi = groupdocs_merger_cloud.FileApi.fromConfig(config);
  // 創建上傳文件請求
  var request = new groupdocs_merger_cloud.UploadFileRequest("input-sample-file.docx", fileStream, myStorage);
  // 上傳文件
  fileApi.uploadFile(request)
    .then(function (response) {
      console.log("Expected response type is FilesUploadResult: " + response.uploaded.length);
    })
    .catch(function (error) {
      console.log("Error: " + error.message);
    });
});

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

在 Node.js 中使用 REST API 提取 Word 頁面

您可以按照以下步驟輕鬆地以編程方式提取 Word 文件的頁面:

  • 首先,創建 PagesApi 的實例。
  • 創建 ExtractOptions 的實例。
  • 創建 FileInfo 的實例。
  • 然後,設置輸入 Word 文件的路徑。
  • 接下來,設置提取的 Word 文件的路徑。
  • 在逗號分隔數組中設置特定頁碼以提取 Word 文件。
  • 使用 ExtractOptions 創建 ExtractRequest。
  • 最後,用 ExtractRequest 調用 pagesApi.extract() 方法得到結果。

以下代碼片段展示瞭如何使用 Node.js 中的 REST API 將 Word 頁面提取到單獨的文件中:

// 如何通過準確的頁碼從 Word 中提取頁面到新文檔中
const extractwordpages = async () => {

  // 接口初始化
  global.pagesApi = groupdocs_merger_cloud.PagesApi.fromKeys(clientId, clientSecret);

  // 定義提取選項
  let options = new groupdocs_merger_cloud.ExtractOptions();
  options.fileInfo = new groupdocs_merger_cloud.FileInfo();
  options.fileInfo.filePath = "nodejs-testing/input-sample-file.docx"; 
  options.outputPath = "nodejs-testing/output-sample-file.docx"; 
  options.pages = [2, 4, 7];
  
  try {
    // 創建提取請求
    let extractRequest = new groupdocs_merger_cloud.ExtractRequest(options);
    // 從 docx 文件中提取頁面
    let result = await pagesApi.extract(extractRequest);
  }
  catch (err) {
    throw err;
  }
}

extractwordpages()
.then(() => {
  console.log("Successfully extract Word DOC pages: ");
})
.catch((err) => {
  console.log("Error occurred while extracting pages from Word file:", err);
})

下載提取的文件

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

// 構造FileApi下載合併後的文件
var fileApi = groupdocs_merger_cloud.FileApi.fromConfig(config);
// 創建下載文件請求
let request = new groupdocs_merger_cloud.DownloadFileRequest("nodejs-testing/output-sample-file.docx", myStorage);
// 下載文件和響應類型 Stream
fileApi.downloadFile(request)
    .then(function (response) {
        // 將文件保存在系統目錄中
        fs.writeFile("H:\\groupdocs-cloud-data\\output-sample-file.docx", response, "binary", function (err) { });
        console.log("Expected response type is Stream: " + response.length);
    })
    .catch(function (error) {
        console.log("Error: " + error.message);
    });

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

您可以按照以下步驟以編程方式提供一系列頁碼,從而分別從 Word 中提取和保存頁面:

  • 首先,創建 PagesApi 的實例。
  • 創建 ExtractOptions 的實例。
  • 創建 FileInfo 的實例。
  • 然後,設置輸入 Word 文件的路徑。
  • 接下來,設置提取的 Word 文件的路徑。
  • 設置 startPageNumber 和 endPageNumber 值。
  • 然後,將 rangeMode 設置為 EvenPages 或 OddPages
  • 使用 ExtractOptions 創建 ExtractRequest。
  • 最後,用 ExtractRequest 調用 pagesApi.extract() 方法得到結果。

以下代碼片段顯示瞭如何在 Node.js 中使用頁面範圍和頁面模式從 Word 在線提取頁面:

// 如何在 Node.js 中使用 REST API 按頁面範圍提取 Word 文檔頁面
const extractpages = async () => {

  // 接口初始化
  global.pagesApi = groupdocs_merger_cloud.PagesApi.fromKeys(clientId, clientSecret);

  // 定義提取選項
  let options = new groupdocs_merger_cloud.ExtractOptions();
  options.fileInfo = new groupdocs_merger_cloud.FileInfo();
  options.fileInfo.filePath = "nodejs-testing/input-sample-file.docx"; 
  options.outputPath = "nodejs-testing/output-sample-file.docx"; 
  options.startPageNumber = 1;
  options.endPageNumber = 10;
  options.rangeMode = groupdocs_merger_cloud.ExtractOptions.RangeModeEnum.EvenPages;
  
  try {
    // 創建提取請求
    let extractRequest = new groupdocs_merger_cloud.ExtractRequest(options);
    // 提取Word文件頁面
    let result = await pagesApi.extract(extractRequest);
  } 
  catch (err) {
    throw err;
  }
}

extractpages()
.then(() => {
  console.log("Successfully extratcing pages of Word document.");
})
.catch((err) => {
  console.log("Error occurred while extracting pages from Word file.", err);
})

類似地,您可以從 Word 文檔中提取奇數頁。

在線試用

如何在線從Word文檔中提取頁面?請嘗試使用以下免費在線 Word 提取工具 從 Word 在線免費提取頁面。這個 Word 頁面提取器免費在線工具是使用上述 API 開發的。

結論

在本文中,您已了解:

  • 如何使用 REST API 從在線 Word 文檔中提取某些頁面;
  • 如何使用頁面範圍和範圍模式過濾器從 Word 文檔中提取頁面;
  • 將Word文件上傳到雲端,從Word在線導出選定的頁面;
  • 從雲端下載並保存 Word 的某些頁面;
  • 如何從Word中免費提取頁面;

現在,您知道如何從 Word 文檔中提取所有頁面或如何保存 Word 的某些頁面。 API 還使您能夠重新排序或替換文檔頁面、更改頁面方向、管理文檔密碼以及對任何支持的文件格式輕鬆執行其他操作。此外,您可以使用 文檔 了解有關 GroupDocs.Merge Cloud API 的更多信息。我們還提供了一個 API 參考 部分,讓您可以直接通過瀏覽器可視化我們的 API 並與之交互。

問一個問題

您可以通過我們的 免費支持論壇 詢問有關 word 頁面提取器以從 Word 導出選定頁面的問題

常見問題

如何將Word中的多頁提取到一個文件中?

安裝 JS 庫 以編程方式在線將 Word 文件分成多個頁面。您可以訪問文檔 了解完整的 API 詳細信息。

從 Word 中提取特定頁面需要多長時間?

JavaScript HTML to Word 庫 運行速度非常快,您可以在幾秒鐘內輕鬆地從受保護的 Word 中提取頁面。

也可以看看