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/