Возможно, вам придется программно разделить PDF-файлы на несколько файлов. Разделяя PDF-документы, вы можете легко извлекать определенную информацию или набор данных и делиться ими с заинтересованными сторонами. Как разработчик Node.js, вы можете разделить документы PDF на несколько документов в облаке. В этой статье вы узнаете, как разделить документы PDF с помощью REST API в Node.js.
В этой статье должны быть раскрыты следующие темы:
- PDF Splitter REST API и Node.js SDK
- Разделите PDF-документы на одностраничные документы с помощью REST API в Node.js
- Разделить PDF-файлы на многостраничные PDF-документы с помощью Node.js
- Извлечение страниц по диапазону страниц с помощью REST API в Node.js
PDF Splitter REST API и Node.js SDK
Для разделения файлов PDF я буду использовать API Node.js SDK GroupDocs.Merger Cloud. Он позволяет разделять, объединять, удалять и переупорядочивать одну страницу или набор страниц из поддерживаемых форматов документов из Word, Excel, PowerPoint, Чертежи Visio, PDF и HTML.
Вы можете установить GroupDocs.Merger Cloud в свое приложение Node.js, используя следующую команду в консоли:
npm install groupdocs-merger-cloud
Пожалуйста, получите свой идентификатор клиента и секрет из панели управления, прежде чем выполнять указанные шаги. Получив свой идентификатор и секрет, добавьте код, как показано ниже:
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";
Разделите PDF-документы на одностраничные документы с помощью REST API в Node.js
Вы можете программно разделить PDF-файлы в облаке, выполнив простые шаги, указанные ниже:
- Загрузить the PDF file to the Cloud
- Разделить PDF-документы с помощью REST API в Node.js
- Скачать 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-файл будет доступен в разделе файлов вашей панели управления в облаке.
Разделить PDF-документы с помощью REST API в Node.js
Вы можете легко программно разделить страницы любого файла PDF на отдельные документы PDF, состоящие из одной страницы документа, выполнив следующие действия:
- Создайте экземпляр DocumentApi.
- Создайте экземпляр FileInfo.
- Затем укажите путь к входному файлу PDF.
- Создайте экземпляр SplitOptions.
- Затем назначьте FileInfo для SplitOptions.
- Установите определенные номера страниц в массиве, разделенном запятыми, чтобы разделить документ.
- Кроме того, установите режим разделения документа на Страницы. Это позволяет API разбивать номера страниц, указанные в массиве, разделенном запятыми, как отдельные документы PDF.
- Создайте SplitRequest с помощью SplitOptions.
- Наконец, вызовите метод DocumentAPI.split() с помощью SplitRequest и получите результаты.
В следующем фрагменте кода показано, как разделить PDF-файл с помощью REST API в Node.js.
// инициализация API
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);
});
Загрузите разделенные файлы
Приведенный выше пример кода сохранит разделенные файлы в облаке. Вы можете загрузить их, используя следующий пример кода:
// инициализировать API
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);
});
});
Разделить PDF-файлы на многостраничные PDF-документы с помощью Node.js
Вы можете программно разделить PDF-файлы на многостраничные PDF-документы, выполнив следующие действия:
- Создайте экземпляр DocumentApi.
- Создайте экземпляр FileInfo.
- Затем укажите путь к входному файлу PDF.
- Создайте экземпляр SplitOptions.
- Затем назначьте FileInfo для SplitOptions.
- Установите интервал номеров страниц, от которого нужно разделить массив, разделенный запятыми.
- Кроме того, установите режим разделения документа на Интервалы. Это позволяет API разбивать страницы документа на основе интервалов страниц, указанных в массиве, разделенном запятыми.
- Создайте SplitRequest с помощью SplitOptions.
- Наконец, вызовите метод DocumentAPI.split() с помощью SplitRequest и получите результаты.
В следующем фрагменте кода показано, как разбить PDF-файл на многостраничные PDF-документы с помощью REST API в Node.js.
// инициализация API
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);
});
Извлечение страниц по диапазону страниц с помощью REST API в Node.js
Вы можете извлекать и сохранять страницы из PDF-файла, программно указав диапазон номеров страниц, выполнив следующие шаги:
- Создайте экземпляр DocumentApi.
- Создайте экземпляр FileInfo.
- Затем укажите путь к входному файлу PDF.
- Создайте экземпляр SplitOptions.
- Затем назначьте FileInfo для SplitOptions.
- Установите номер начальной страницы и номер конечной страницы.
- Кроме того, установите режим разделения документа на Страницы.
- Создайте SplitRequest с помощью SplitOptions.
- Наконец, вызовите метод DocumentAPI.split() с помощью SplitRequest и получите результаты.
В следующем фрагменте кода показано, как разделить PDF-файл по диапазону номеров страниц с помощью REST API в Node.js.
// инициализация API
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);
});
Попробуйте онлайн
Пожалуйста, попробуйте следующий бесплатный онлайн-инструмент для разделения PDF-файлов, разработанный с использованием вышеуказанного API. https://products.groupdocs.app/splitter/pdf/
Заключение
В этой статье вы узнали, как разделить PDF-документы с помощью REST API в облаке. Кроме того, вы видели, как программно разбивать PDF-файлы на многостраничные PDF-документы. В этой статье также объясняется, как программно загрузить файл PDF в облако, а затем загрузить отдельные файлы из облака. API также позволяет вам переупорядочивать или заменять страницы документа, изменять ориентацию страницы, управлять паролями документов и легко выполнять другие манипуляции для любого поддерживаемого формата файла. Кроме того, вы можете узнать больше о GroupDocs.Merge Cloud API, воспользовавшись документацией. Мы также предоставляем раздел Справочник по API, который позволяет визуализировать наши API и взаимодействовать с ними непосредственно через браузер. В случае возникновения каких-либо неясностей, пожалуйста, свяжитесь с нами на форуме.