您可能需要以編程方式一次從 PDF 中提取多個頁面。通過分離 PDF 頁面,您可以輕鬆導出和保存 PDF 文檔的特定頁面以與利益相關者共享。作為 Node.js 開發人員,您可以從雲端的 PDF 文檔中提取多個頁面。在本文中,我們將演示如何在 Node.js 中使用 Rest API 從 PDF 文件中提取頁面。
本文應涵蓋以下主題以從 PDF 中提取頁面:
- PDF 提取器 REST API 和 Node.js SDK
- 使用 Node.js 中的 REST API 按精確頁碼提取 PDF 頁面
- 使用 Node.js 中的 REST API 按頁面範圍從 PDF 中提取頁面
PDF 提取器 REST API 和 Node.js SDK
為了從 Adobe Acrobat PDF 中提取頁面,我將使用 GroupDocs.Merger Cloud 的 Node.js SDK API。它是一個在線 PDF 頁面提取器免費下載庫。它允許您從Word、Excel、PowerPoint的支持的文檔格式中拆分、組合、提取、刪除和重新排列單個頁面或頁面集合]、Visio 繪圖、PDF 和 HTML。
您可以在控制台中使用以下命令安裝 GroupDocs.Merger cloud 以從 Node.js 應用程序中的 PDF 文件中提取 PDF 頁面:
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";
在 Node.js 中使用 REST API 按精確頁碼提取 PDF 頁面
您可以通過以下簡單步驟以編程方式從 PDF 導出單個頁面或從雲中的 PDF 文件導出特定頁面:
上傳 PDF 文件
您可以使用下面給出的代碼示例將 PDF 文件導入雲端:
// 從系統驅動器打開 IOStream 中的文件。
var resourcesFolder = 'H:\\groupdocs-cloud-data\\input-sample-file.pdf';
// 讀取文件
fs.readFile(resourcesFolder, (err, fileStream) => {
// 構造FileApi
var fileApi = groupdocs_merger_cloud.FileApi.fromConfig(config);
// 創建上傳文件請求
var request = new groupdocs_merger_cloud.UploadFileRequest("input-sample-file.pdf", 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);
});
});
當文件上傳到雲端儀表板的 文件部分 時,PDF 文件將可用。
在 Node.js 中使用 REST API 提取 PDF 頁面
以下步驟將教您如何以編程方式從 PDF 文件中提取頁面:
- 首先,創建 PagesApi 的實例。
- 創建 ExtractOptions 的實例。
- 創建 FileInfo 的實例。
- 然後,設置輸入 PDF 文件的路徑。
- 接下來,設置提取的 PDF 文件的路徑。
- 在逗號分隔的數組中設置特定頁碼以提取 PDF 文件。
- 使用 ExtractOptions 創建 ExtractRequest。
- 最後,用 ExtractRequest 調用 pagesApi.extract() 方法得到結果。
以下代碼片段展示瞭如何使用 Node.js 中的 REST API 將 PDF 頁面提取到單獨的文件中:
// 如何在 Node.js 中使用 REST API 按精確頁碼提取 PDF 頁面
const extractpdfpages = 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.pdf";
options.outputPath = "nodejs-testing/output-sample-file.pdf";
options.pages = [2, 4, 7];
try {
// 創建提取請求
let extractRequest = new groupdocs_merger_cloud.ExtractRequest(options);
// 從pdf文檔中提取頁面
let result = await pagesApi.extract(extractRequest);
}
catch (err) {
throw err;
}
}
extractpdfpages()
.then(() => {
console.log("Successfully extract PDF pages: ");
})
.catch((err) => {
console.log("Error occurred while extracting pages from PDF file:", err);
})
下載提取的文件
上面的代碼示例會將分離的文件保存在雲端。您可以使用以下代碼示例下載它們:
// 構造FileApi下載合併後的文件
var fileApi = groupdocs_merger_cloud.FileApi.fromConfig(config);
// 創建下載文件請求
let request = new groupdocs_merger_cloud.DownloadFileRequest("nodejs-testing/output-sample-file.pdf", myStorage);
// 下載文件和響應類型 Stream
fileApi.downloadFile(request)
.then(function (response) {
// 將文件保存在系統目錄中
fs.writeFile("H:\\groupdocs-cloud-data\\output-sample-file.pdf", 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 按頁面範圍從 PDF 中提取頁面
您可以按照以下步驟以編程方式提供一系列頁碼,從而分別從 PDF 中提取和保存頁面:
- 首先,創建 PagesApi 的實例。
- 創建 ExtractOptions 的實例。
- 創建 FileInfo 的實例。
- 然後,設置輸入 PDF 文件的路徑。
- 接下來,設置提取的 PDF 文件的路徑。
- 設置起始頁碼和結束頁碼值。
- 然後,將 rangeMode 設置為 EvenPages 或 OddPages
- 使用 ExtractOptions 創建 ExtractRequest。
- 最後,用 ExtractRequest 調用 pagesApi.extract() 方法得到結果。
以下代碼片段展示瞭如何在 Node.js 中使用頁面範圍和頁面模式從 PDF 在線提取頁面:
// 如何在 Node.js 中使用 REST API 按頁面範圍從 PDF 中提取頁面
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.pdf";
options.outputPath = "nodejs-testing/output-sample-file.pdf";
options.startPageNumber = 1;
options.endPageNumber = 10;
options.rangeMode = groupdocs_merger_cloud.ExtractOptions.RangeModeEnum.EvenPages;
try {
// 創建提取請求
let extractRequest = new groupdocs_merger_cloud.ExtractRequest(options);
// 提取PDF文件頁面
let result = await pagesApi.extract(extractRequest);
}
catch (err) {
throw err;
}
}
extractpages()
.then(() => {
console.log("Successfully extratcing pages of PDF file.");
})
.catch((err) => {
console.log("Error occurred while extracting pages from PDF file.", err);
})
類似的方法,您可以從 PDF 文檔中提取奇數頁。
在線試用
如何在線從PDF文件中提取頁面?請嘗試以下免費在線 PDF 提取工具 以免費在線從 PDF 中提取頁面。這個 PDF 頁面提取器免費在線工具是使用上述 API 開發的。
結論
我們在這裡結束這篇博文。在本文中,您已了解:
- 如何使用 REST API 從 PDF 中提取特定頁面或從 PDF 中提取一頁;
- 如何使用頁面範圍和範圍模式過濾器從 PDF 文檔中提取頁面;
- 將PDF文件上傳到雲端,在線導出PDF中的選定頁面;
- 從雲端下載並保存某些 PDF 頁面;
- 如何免費從 PDF 中提取頁面;
現在,您知道如何從 PDF 文檔中提取一頁或如何保存 PDF 的某些頁面。 API 還使您能夠重新排序或替換文檔頁面、更改頁面方向、管理文檔密碼以及對任何支持的文件格式輕鬆執行其他操作。此外,您可以使用 文檔 了解有關 GroupDocs.Merge Cloud API 的更多信息。我們還提供了一個 API 參考 部分,讓您可以直接通過瀏覽器可視化我們的 API 並與之交互。
此外,我們建議您參考我們的入門指南
此外,groupdocs.cloud 定期撰寫有關新主題的文章。因此,請保持聯繫以獲取最新更新。
問一個問題
您可以通過我們的 免費支持論壇 詢問有關如何提取 PDF 文件以從 PDF 導出選定頁面的問題
常見問題
如何將PDF中的多頁提取到一個文件中?
安裝 JS 庫 以編程方式在線將 PDF 文件分成多個頁面。您可以訪問文檔 了解完整的 API 詳細信息。
從 PDF 中提取特定頁面需要多長時間?
JavaScript HTML 到 PDF 庫 運行速度非常快,您可以在幾秒鐘內輕鬆地從受保護的 PDF 中提取頁面。
也可以看看
如需最佳閱讀和信息,請訪問以下文章:
- 使用 Node.js 將 PDF 文件加入 One Online
- 在 Python 中從 Word 文檔中提取頁面
- 將多個 PowerPoint 演示文稿合併為一個
- 使用 REST API 合併 PDF 文件
- 如何在 Python 中合併 PowerPoint PPT/PPTX 文件
- 使用 Python 合併多個 Word 文檔
- 使用 Node.js 將 Word 文檔拆分為多個文件
- 如何在 Python 中拆分 PowerPoint PPT 或 PPTX 幻燈片
- 如何在 Python 中從 Word 文檔中提取頁面
- 在 Ruby 中使用 REST API 在線合併 PowerPoint PPT/PPTX 文件
- 如何使用 Python 合併多個 Word 文檔
- 在 Python 中組合和合併 PowerPoint PPT/PPTX 文件
- 使用 Node.js 從 PDF 文件中提取圖像
- 如何使用 Node.js 將 Word 文檔拆分為單獨的文件