Как объединить и объединить PDF-файлы в один онлайн с помощью Node.js

Объединяйте и объединяйте PDF-файлы в один онлайн с помощью Node.js

Иногда нам может понадобиться объединить два или более файла PDF, чтобы сделать его более полным. Например, вам нужно объединить PDF-файлы для создания документов с использованием ранее созданных файлов для ссылок на данные или когда разные пользователи работают над одной и той же темой. Объединение PDF-файлов поможет вам сохранить согласованность информации и сделать ваши документы более эффективными. Копировать и вставлять контент вручную или импортировать контент из других документов для объединения документов может быть утомительно. Поэтому мы научимся объединять и объединять PDF-файлы в один онлайн с помощью Node.js REST API.

В этой статье будут рассмотрены следующие темы.

Онлайн-слияние документов REST API и Node.js SDK

Чтобы объединить несколько PDF-файлов, я буду использовать API Node.js SDK для GroupDocs.Merger Cloud. Он позволяет объединять, извлекать, удалять и изменять порядок одной страницы или набора страниц из поддерживаемых форматов документов, таких как Word, Excel, PowerPoint, рисунки Visio, PDF и HTML и т. д.

Следующая команда в консоли активирует облако GroupDocs.Merger для вашего приложения Node.js:

npm install groupdocs-merger-cloud

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

# Импортируйте Node.js SDK в приложение узла с http://api.groupdocs.cloud.
global.groupdocs_merger_cloud = require("groupdocs-merger-cloud");
global.fs = require("fs");

// получить clientId и clientSecret с https://dashboard.groupdocs.cloud (требуется бесплатная регистрация).
global.clientId = "xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
global.clientSecret = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
global.myStorage = "test-internal-storage";
const config = new groupdocs_merger_cloud.Configuration(clientId, clientSecret);
config.apiBaseUrl = "https://api.groupdocs.cloud";

Слияние и объединение PDF-файлов в один с помощью Node.js{#Объединение и объединение PDF-файлов в один с помощью Node.js}

В этом разделе мы узнаем, как программно объединить несколько файлов PDF в один файл в облаке, выполнив простые шаги, указанные ниже:

Загрузите PDF-файлы

Во-первых, используйте приведенный ниже пример кода, чтобы загрузить файлы PDF в облако:

// построить FileApi
let fileApi = groupdocs_merger_cloud.FileApi.fromConfig(config);
// откройте файл в IOStream с вашего системного диска.
let resourcesFolder = 'H:\\groupdocs-cloud-data\\sample-pdf\\';

fs.readdir(resourcesFolder, (err, files) => {
  files.forEach(file => {
    // читать файлы один за другим
    fs.readFile(resourcesFolder + file, (err, fileStream) => {
      // создать запрос на загрузку файла
      let request = new groupdocs_merger_cloud.UploadFileRequest("nodejs-testing/" + file, fileStream, myStorage);
      // загрузить файл
      fileApi.uploadFile(request)
        .then(function (response) {
          console.log(file + " file uploaded: " + response.uploaded.length);
        })
        .catch(function (error) {
          console.log("Error: " + error.message);
        });
    });
  });
});

Таким образом, загруженные PDF-файлы будут доступны в разделе файлов вашей панели инструментов в облаке.

Объедините несколько PDF-файлов в один онлайн с помощью Node.js

Затем объедините несколько PDF-файлов в один файл программно, выполнив шаги, указанные ниже:

  • Создайте экземпляр DocumentApi.
  • Теперь создайте первый объект JoinItem.
  • Далее создаем первый элемент FileInfo
  • Укажите путь к входному файлу для первого элемента соединения в информации о файле.
  • Создайте второй объект JoinItem.
  • Создайте второй элемент FileInfo
  • Укажите путь к входному файлу для второго элемента JoinItem в FileInfo.
  • Создайте несколько файлов JoinOptions
  • Добавить разделенный запятыми список созданных элементов соединения
  • Установить путь к выходному файлу
  • Создайте JoinRequest с JoinOptions в качестве аргумента
  • Наконец, получите результаты, вызвав метод join() DocumentAPI.

В следующем фрагменте кода показано, как объединить несколько файлов PDF с помощью REST API в Node.js:

// Как объединить и объединить PDF-файлы в один с помощью Node.js
const combine = async () => {

let documentApi = groupdocs_merger_cloud.DocumentApi.fromKeys(clientId, clientSecret);

// создать первый элемент соединения
let item1 = new groupdocs_merger_cloud.JoinItem();
item1.fileInfo = new groupdocs_merger_cloud.FileInfo();
item1.fileInfo.filePath = "nodejs-testing/sample-file1.pdf";

// создать второй элемент соединения
let item2 = new groupdocs_merger_cloud.JoinItem();
item2.fileInfo = new groupdocs_merger_cloud.FileInfo();
item2.fileInfo.filePath = "nodejs-testing/sample-file2.pdf";

// создать параметры присоединения
let options = new groupdocs_merger_cloud.JoinOptions();
options.joinItems = [item1, item2];
options.outputPath = "nodejs-testing/joined-file.pdf";

  try {
    // Создать запрос на объединение документов
    let joinRequest = new groupdocs_merger_cloud.JoinRequest(options);
    let result = await documentApi.join(joinRequest);
  } 
  catch (err) {
    throw err;
  }
}

combine()
.then(() => {
  console.log("Successfully combined PDF documents: ");
})
.catch((err) => {
  console.log("Error occurred while merging the PDF files:", err);
})

Скачать объединить PDF-файлы

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

// построить FileApi для загрузки объединенного файла
var fileApi = groupdocs_merger_cloud.FileApi.fromConfig(config);
// создать запрос на загрузку файла
let request = new groupdocs_merger_cloud.DownloadFileRequest("nodejs-testing/joined-file.pdf", myStorage);
// скачать файл и тип ответа Stream
fileApi.downloadFile(request)
    .then(function (response) {
        // сохранить файл в системном каталоге
        fs.writeFile("H:\\groupdocs-cloud-data\\joined-file.pdf", response, "binary", function (err) { });
        console.log("Expected response type is Stream: " + response.length);
    })
    .catch(function (error) {
        console.log("Error: " + error.message);
    });

Как объединить несколько страниц PDF-файлов в Node.js

Вы можете программно быстро объединить определенные слайды из нескольких PDF-файлов в один файл, выполнив шаги, указанные ниже:

  • Во-первых, создайте экземпляр DocumentApi.
  • Затем создайте первый объект JoinItem.
  • Теперь создайте первый элемент FileInfo
  • Установите путь к входному файлу для первого элемента JoinItem в FileInfo.
  • Укажите через запятую список страниц для объединения
  • Создайте второй объект JoinItem.
  • Создайте второй элемент FileInfo
  • Установите путь к входному файлу для второго элемента JoinItem в FileInfo.
  • Теперь установите значение startPageNumber
  • затем установите значение endPageNumber
  • Создайте несколько файлов JoinOptions
  • Добавить разделенный запятыми список созданных элементов соединения
  • Установить путь к выходному файлу
  • Создайте JoinRequest с JoinOptions в качестве аргумента
  • Получите результаты, вызвав метод join() DocumentAPI

В следующем фрагменте кода показано, как объединить определенные файлы PDF с помощью REST API в Node.js:

// Как объединить несколько страниц PDF-файлов в Node.js
const mergespecific = async () => {

  // Инициализация API слияния PDF-файлов
  let documentApi = groupdocs_merger_cloud.DocumentApi.fromKeys(clientId, clientSecret);

  // создать первый элемент соединения
  let item1 = new groupdocs_merger_cloud.JoinItem();
  item1.fileInfo = new groupdocs_merger_cloud.FileInfo();
  item1.fileInfo.filePath = "nodejs-testing/sample-file1.pdf";
  item1.pages = [1, 3];

  // создать второй элемент соединения
  let item2 = new groupdocs_merger_cloud.JoinItem();
  item2.fileInfo = new groupdocs_merger_cloud.FileInfo();
  item2.fileInfo.filePath = "nodejs-testing/sample-file2.pdf";
  item2.startPageNumber = 2
  item2.endPageNumber = 4

  // создать параметры присоединения
  let options = new groupdocs_merger_cloud.JoinOptions();
  options.joinItems = [item1, item2];
  options.outputPath = "nodejs-testing/joined-file.pdf";

  try {
    // Создать запрос на объединение документов
    let joinRequest = new groupdocs_merger_cloud.JoinRequest(options);
    let result = await documentApi.join(joinRequest);
  } 
  catch (err) {
    throw err;
  }
}

mergespecific()
.then(() => {
  console.log("Successfully merged PDF documents specific pages: ");
})
.catch((err) => {
  console.log("Error occurred while combining the PDF files:", err);
})

Объединяйте PDF-файлы в один онлайн бесплатно

Попробуйте следующий бесплатный онлайн-инструмент слияния PDF, разработанный с использованием вышеуказанного API.

Заключение

В этой статье вы узнали:

  • как объединить несколько PDF-файлов в один PDF-файл с помощью Node.js;
  • как объединить определенные страницы PDF-файлов в Node.js с помощью REST API;
  • программно загружать PDF-файлы и загружать объединенный PDF-файл из облака;

API также позволяет вам переупорядочивать или заменять страницы документа, изменять ориентацию страницы, управлять паролями документов и легко выполнять другие манипуляции для любого поддерживаемого формата файла. Он также предоставляет пакеты SDK для .NET, Java, PHP, Ruby, Android и Python в качестве членов семейства слияния документов для Cloud API. Вы можете узнать больше о GroupDocs.Merge Cloud API, используя документацию. Мы также предоставляем раздел Справочник по API, который позволяет визуализировать наши API и взаимодействовать с ними непосредственно через браузер.

Мы также рекомендуем вам прочитать наше Руководство по началу работы

Кроме того, groupdocs.cloud пишет другие статьи в блогах на новые темы. Пожалуйста, будьте в курсе последних обновлений.

Задайте вопрос

Вы можете задать свои вопросы о том, как объединить PDF-файлы, через наш Бесплатный форум поддержки

Часто задаваемые вопросы

Как объединить несколько страниц в один PDF-файл с помощью Node.js?

Следуйте коду Node.js, чтобы узнать, как легко и быстро объединить PDF-файлы в Windows. Вы можете посетить документацию для получения полной информации об API.

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

Мы предлагаем вам прочитать следующие статьи, чтобы узнать больше: