Разделить PDF-документы с помощью REST API в Node.js

Возможно, вам придется программно разделить PDF-файлы на несколько файлов. Разделяя PDF-документы, вы можете легко извлекать определенную информацию или набор данных и делиться ими с заинтересованными сторонами. Как разработчик Node.js, вы можете разделить документы PDF на несколько документов в облаке. В этой статье вы узнаете, как разделить документы PDF с помощью 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-файлы в облаке, выполнив простые шаги, указанные ниже:

Загрузите 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);
});
Разделите PDF-файлы на одностраничные документы с помощью Node.js

Разделите PDF-файлы на одностраничные документы с помощью Node.js

Загрузите разделенные файлы

Приведенный выше пример кода сохранит разделенные файлы в облаке. Вы можете загрузить их, используя следующий пример кода:

// инициализировать 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);
});
Разделить PDF-файлы на многостраничные PDF-документы с помощью Node.js

Разделить PDF-файлы на многостраничные PDF-документы с помощью Node.js

Извлечение страниц по диапазону страниц с помощью 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);
});
Извлечение страниц по диапазону страниц с помощью REST API в Node.js

Извлечение страниц по диапазону страниц с помощью REST API в Node.js

Попробуйте онлайн

Пожалуйста, попробуйте следующий бесплатный онлайн-инструмент для разделения PDF-файлов, разработанный с использованием вышеуказанного API. https://products.groupdocs.app/splitter/pdf/

Заключение

В этой статье вы узнали, как разделить PDF-документы с помощью REST API в облаке. Кроме того, вы видели, как программно разбивать PDF-файлы на многостраничные PDF-документы. В этой статье также объясняется, как программно загрузить файл PDF в облако, а затем загрузить отдельные файлы из облака. API также позволяет вам переупорядочивать или заменять страницы документа, изменять ориентацию страницы, управлять паролями документов и легко выполнять другие манипуляции для любого поддерживаемого формата файла. Кроме того, вы можете узнать больше о GroupDocs.Merge Cloud API, воспользовавшись документацией. Мы также предоставляем раздел Справочник по API, который позволяет визуализировать наши API и взаимодействовать с ними непосредственно через браузер. В случае возникновения каких-либо неясностей, пожалуйста, свяжитесь с нами на форуме.

Смотрите также