PDF 是最流行的共享和打印文檔格式。在某些情況下,我們可能需要重新排序或交換 PDF 文件中的頁面。我們可以通過在雲上以編程方式移動或交換 PDF 文檔中的特定頁面,將雜亂無章的 PDF 文件轉換為結構良好的文檔。在本文中,我們將學習如何在 Node.js 中使用 REST API 重新排列 PDF 頁面。
本文應涵蓋以下主題:
- 用於重新排列 PDF 頁面的 REST API 和 Node.js SDK
- 如何在 Node.js 中重新排序或重新排列 PDF 頁面
- 如何在 Node.js 中使用 REST API 交換 PDF 頁面
用於重新排列 PDF 頁面的 REST API 和 Node.js SDK
為了重新排列 PDF 文檔中的頁面,我們將使用 GroupDocs.Merger Cloud 的 Node.js SDK API。它允許在 支持的文檔格式 中拆分、組合、刪除和重新排列單個頁面或頁面集合。請在控制台中使用以下命令安裝它:
npm install groupdocs-merger-cloud
在執行上述步驟之前,請從儀表板獲取您的客戶端 ID 和密碼。獲得 ID 和密碼後,添加如下所示的代碼:
// 此代碼示例演示如何在代碼中添加您的客戶端 ID 和密碼。
global.clientId = '659fe7da-715b-4744-a0f7-cf469a392b73';
global.clientSecret = 'b377c36cfa28fa69960ebac6b6e36421';
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 文件上傳到雲端:
// 此代碼示例演示如何將 PDF 文件上傳到雲端。
// 構造FileApi
let fileApi = groupdocs_merger_cloud.FileApi.fromConfig(configuration);
let file = 'C:\\Files\\merger\\sample.pdf';
// 一個一個讀取文件
fs.readFile(file, (err, fileStream) => {
// 創建上傳文件請求
let request = new groupdocs_merger_cloud.UploadFileRequest("sample.pdf", fileStream, myStorage);
// 上傳文件
fileApi.uploadFile(request);
});
因此,上傳的 PDF 文件將在雲端儀表板的 文件部分 中可用。
使用 Node.js 重新排序 PDF 頁面
現在,我們將按照以下步驟對上傳的 PDF 文件的頁面進行重新排序:
- 首先,創建 PagesApi 的實例。
- 接下來,提供上傳的 PDF 文件路徑。
- 然後,設置輸出文件路徑。
- 接下來,設置當前頁碼和新頁碼。
- 之後,使用 MoveOptions 作為參數創建 MoveRequest。
- 最後,調用 move() 方法並保存更新後的文檔。
以下代碼示例展示瞭如何在 Node.js 中使用 REST API 對 PDF 頁面重新排序。
// 此代碼示例演示如何在 PDF 文檔中移動頁面。
// 接口初始化
let pagesApi = groupdocs_merger_cloud.PagesApi.fromKeys(clientId, clientSecret);
// 初始化移動選項
let options = new groupdocs_merger_cloud.MoveOptions();
// 輸入文件路徑
options.fileInfo = new groupdocs_merger_cloud.FileInfo();
options.fileInfo.filePath = "sample.pdf";
// 輸出文件路徑
options.outputPath = "move-pages.pdf";
// 要移動的頁面
options.pageNumber = 1;
// 在哪個位置移動
options.newPageNumber = 4;
// 創建移動請求
let request = new groupdocs_merger_cloud.MoveRequest(options);
// 移動頁面
let result = await pagesApi.move(request);
console.log("Document edited: " + result.path);
下載更新文件
最後,上面的代碼示例會將更新後的 PDF 文件保存在雲端。可以使用以下代碼示例下載它:
// 此代碼示例演示如何從雲端下載 PDF 文件。
// 初始化接口
var fileApi = groupdocs_merger_cloud.FileApi.fromConfig(configuration);
// 創建文件下載請求
let request = new groupdocs_merger_cloud.DownloadFileRequest("move-pages.pdf", myStorage);
// 下載文件
let response = await fileApi.downloadFile(request);
// 在工作目錄中保存 PDF 文件
fs.writeFile("C:\\Files\\merger\\move-pages.pdf", response, "binary", function (err) { });
使用 Node.js 交換 PDF 頁面
我們可以按照以下步驟交換 PDF 文檔中兩頁的位置:
- 首先,創建 PagesApi 的實例。
- 接下來,提供上傳的 PDF 文件路徑。
- 然後,設置輸出文件路徑。
- 接下來,設置第一頁碼和第二頁碼。
- 之後,使用 SwapOptions 作為參數創建 SwapRequest。
- 最後,調用 swap() 方法並保存更新後的文檔。
以下代碼示例展示瞭如何使用 Node.js 中的 REST API 交換 PDF 文檔中的兩個頁面。
// 此代碼示例演示如何在 PDF 文檔中交換頁面。
// 接口初始化
let pagesApi = groupdocs_merger_cloud.PagesApi.fromKeys(clientId, clientSecret);
// 初始化交換選項
let options = new groupdocs_merger_cloud.SwapOptions();
// 輸入文件路徑
options.fileInfo = new groupdocs_merger_cloud.FileInfo();
options.fileInfo.filePath = "sample.pdf";
// 輸出文件路徑
options.outputPath = "swap-pages.pdf";
// 要交換的第一頁碼
options.firstPageNumber = 2;
// 要交換的第二頁碼
options.secondPageNumber = 4;
// 創建交換請求
let request = new groupdocs_merger_cloud.SwapRequest(options);
// 交換頁面
let result = await pagesApi.swap(request);
console.log("Document edited: " + result.path);
在線試用
請嘗試以下使用上述 API 開發的免費在線工具來移動或交換文檔頁面。 https://products.groupdocs.app/merger/pdf
結論
在本文中,我們學習瞭如何:
- 在 Node.js 中重新排序和交換 PDF 文檔的頁面;
- 將 PDF 文件上傳到雲端;
- 從雲端下載更新的 PDF。
此外,您可以使用 文檔 了解有關 GroupDocs.Merge Cloud API 的更多信息。我們還提供了一個 API 參考 部分,讓您可以直接通過瀏覽器可視化我們的 API 並與之交互。如有任何歧義,請隨時通過 [fo][17] 與我們聯繫。
也可以看看
[17]: https://forum.groupdocs.cloud/c/editor/)[rum](https://forum.groupdocs.cloud/c/merger/