
您可能需要以编程方式将 PDF 文件拆分为多个文件。通过拆分 PDF 文档,您可以轻松提取特定信息或一组数据并与利益相关者共享。作为 Node.js 开发人员,您可以在云端将 PDF 文档拆分为多个文档。在本文中,您将学习如何在 Node.js 中使用 REST API 拆分 PDF 文档。
本文应涵盖以下主题:
- PDF 拆分器 REST API 和 Node.js SDK
- 使用 Node.js 中的 REST API 将 PDF 文档拆分为单页文档
- 使用 Node.js 将 PDF 文件拆分为多页 PDF 文档
- 在 Node.js 中使用 REST API 按页面范围提取页面
PDF 拆分器 REST API 和 Node.js SDK
为了拆分 PDF 文件,我将使用 GroupDocs.Merger Cloud 的 Node.js SDK API。它允许您从 Word、Excel、PowerPoint 的 支持的文档格式 中拆分、合并、删除和重新排列单个页面或一组页面, Visio 绘图、PDF 和 HTML。
您可以在控制台中使用以下命令将 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 文件:
- 上传 the PDF file to the Cloud
- 在 Node.js 中使用 REST API 拆分 PDF 文档
- 下载 the separated files
上传 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 文件拆分为单页文档
下载拆分文件
上面的代码示例会将分离的文件保存在云端。您可以使用以下代码示例下载它们:
// 初始化接口
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 中使用 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 按页面范围提取页面
在线试用
请试用以下使用上述 API 开发的免费在线 PDF 拆分器工具。 https://products.groupdocs.app/splitter/pdf/
结论
在本文中,您了解了如何在云端使用 REST API 拆分 PDF 文档。此外,您还了解了如何以编程方式将 PDF 文件拆分为多页 PDF 文档。本文还介绍了如何以编程方式将 PDF 文件上传到云端,然后从云端下载分离的文件。 API 还使您能够重新排序或替换文档页面、更改页面方向、管理文档密码以及对任何支持的文件格式轻松执行其他操作。此外,您可以使用 文档 了解有关 GroupDocs.Merge Cloud API 的更多信息。我们还提供了一个 API 参考 部分,让您可以直接通过浏览器可视化我们的 API 并与之交互。如有任何歧义,请随时在论坛上与我们联系。