Объединение нескольких презентаций PowerPoint в одну в Node.js

Объединение нескольких презентаций PowerPoint в одну в Node.js

Файл PowerPoint представляет собой файл презентации, разработанный Microsoft PowerPoint. В некоторых случаях может потребоваться объединить две или более презентаций PowerPoint. Например, вам нужно объединить слайды для создания презентаций с использованием ранее созданных слайд-шоу для ссылки на данные или когда разные пользователи работают над одной и той же темой. Объединение слайдов PowerPoint поможет вам сохранить согласованность информации и сделать презентации PowerPoint более эффективными. Сегодня мы узнаем, как объединить несколько презентаций PowerPoint в одну в Node.js.

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

Слияние документов REST API и Node.js SDK

Чтобы объединить несколько файлов PPTX, я буду использовать 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";

Объединение нескольких презентаций PowerPoint в Node.js с помощью REST API

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

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

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

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

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);
        });
    });
  });
});

В результате загруженные файлы PowerPoint будут доступны в разделе файлов вашей панели инструментов в облаке.

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

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

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

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

// Как объединить файлы PowerPoint ppt/pptx с помощью 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.pptx";

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

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

  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 powerpoint pptx files: ");
})
.catch((err) => {
  console.log("Error occurred while merging the PowerPoint files:", err);
})
Объединение нескольких файлов PowerPoint с помощью Node.js

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

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

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

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

Как объединить определенные слайды PowerPoint с помощью Node.js

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

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

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

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

  // Инициализация API слияния ppt/pptx
  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.pptx";
  item1.pages = [3, 4];

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

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

  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 pptx slides: ");
})
.catch((err) => {
  console.log("Error occurred while combining the PowerPoint files:", err);
})
Как объединить определенные слайды PowerPoint с помощью Node.js

Как объединить определенные слайды PowerPoint с помощью Node.js

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

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

Заключение

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

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

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

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

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

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