Преобразование документов Word в PDF с помощью Node.js

PDF является предпочтительным форматом для обмена важными документами, и общепринятой практикой является обмен документами Word в формате PDF. Хотя Microsoft Office предоставляет встроенные функции для преобразования Word в PDF, вам может потребоваться программно преобразовать документы Word (DOC или DOCX) в PDF. Как разработчик Node.js, вы можете легко преобразовывать документы Word в файлы PDF в своих приложениях Node.js в облаке. В этой статье вы узнаете, как конвертировать документы Word в PDF с помощью REST API в Node.js.

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

Преобразование DOCX в PDF REST API и Node.js SDK

Для преобразования DOCX в PDF я буду использовать API Node.js SDK GroupDocs.Conversion Cloud. Это независимое от платформы решение для преобразования документов и изображений, не зависящее от какого-либо инструмента или программного обеспечения. Он позволяет быстро и надежно конвертировать изображения и документы любого поддерживаемого формата файла в любой нужный вам формат. Вы можете легко конвертировать более 50 типов документов и изображений, таких как Word, PowerPoint, Excel, PDF, HTML, CAD, растровые изображения и т. д.

Вы можете установить GroupDocs.Conversion Cloud в свой проект Node.js, используя следующую команду в консоли:

npm install groupdocs-conversion-cloud

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

global.clientId = "112f0f38-9dae-42d5-b4fc-cc84ae644972";
global.clientSecret = "16ad3fe0bdc39c910f57d2fd48a5d618";
global.myStorage = "";

const config = new groupdocs_conversion_cloud.Configuration(clientId, clientSecret);
config.apiBaseUrl = "https://api.groupdocs.cloud";

Преобразование документов Word в PDF с помощью REST API в Node.js

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

  1. Загрузить файл DOCX в облако
  2. Преобразовать DOCX в PDF с помощью Node.js
  3. Скачать преобразованный PDF-файл

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

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

// Откройте файл в IOStream с локального диска/диска.
var resourcesFolder = 'C:\\Files\\sample.docx';
// прочитать файл
fs.readFile(resourcesFolder, (err, fileStream) => {
  // построить FileApi
  var fileApi = groupdocs_conversion_cloud.FileApi.fromConfig(config);
  // создать запрос на загрузку файла
  var request = new groupdocs_conversion_cloud.UploadFileRequest("sample.docx", fileStream, myStorage);
  // загрузить файл
  fileApi.uploadFile(request);
});

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

Преобразование DOCX в PDF с помощью Node.js

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

  • Создайте экземпляр ConvertApi
  • Создайте экземпляр ConvertSettings
  • Укажите путь к входному файлу DOCX.
  • Назначьте «pdf» формату
  • Укажите путь к выходному файлу
  • Создайте ConvertDocumentRequest с ConvertSettings
  • Преобразуйте, вызвав метод convertDocument() с ConvertDocumentRequest.

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

// инициализировать API
let convertApi = groupdocs_conversion_cloud.ConvertApi.fromKeys(clientId, clientSecret);

// определить настройки преобразования
let settings = new groupdocs_conversion_cloud.ConvertSettings();
settings.filePath = "sample.docx";
settings.format = "pdf";
settings.outputPath = "sample.pdf";

// создать запрос на преобразование документа
let request = new groupdocs_conversion_cloud.ConvertDocumentRequest(settings);

// конвертировать документ
let result = await convertApi.convertDocument(request);
console.log("Document converted successfully: " + result[0].url);
Преобразование документов Word в PDF с помощью REST API в Node.js

Преобразование документов Word в PDF с помощью REST API в Node.js

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

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

// построить FileApi
var fileApi = groupdocs_conversion_cloud.FileApi.fromConfig(config);

// создать запрос на загрузку файла
let request = new groupdocs_conversion_cloud.DownloadFileRequest("sample.pdf", myStorage);

// Загрузка файла
let response = await fileApi.downloadFile(request);

// сохранить в свой рабочий каталог
fs.writeFile("C:\\Files\\sample.pdf", response, "binary", function (err) { });

Преобразование Word в PDF с дополнительными параметрами

Вы можете конвертировать документы Word в файлы PDF с некоторыми дополнительными настройками, выполнив следующие действия:

  • Создайте экземпляр ConvertApi
  • Создайте экземпляр ConvertSettings
  • Укажите путь к файлу DOCX
  • Назначьте «pdf» для формата
  • Укажите путь к выходному файлу
  • Создайте экземпляр DocxLoadOptions
  • При желании установите различные параметры загрузки, такие как hideComments, hideWordTrackedChanges и т. д.
  • Создайте экземпляр PdfConvertOptions
  • При желании установите различные параметры преобразования, такие как displayDocTitle, поля (верхнее, левое, правое, нижнее) и т. д.
  • Создайте ConvertDocumentRequest с ConvertSettings
  • Преобразуйте, вызвав метод convertDocument() с ConvertDocumentRequest.

В следующем примере кода показано, как преобразовать документ Word в документ PDF с расширенными параметрами преобразования.

// инициализация API
let convertApi = groupdocs_conversion_cloud.ConvertApi.fromKeys(clientId, clientSecret);

// определить настройки преобразования
var settings = new groupdocs_conversion_cloud.ConvertSettings();
settings.storageName = myStorage;
settings.filePath = "sample.docx";
settings.format = "pdf";

// определить параметры загрузки DOCX
var loadOptions = new groupdocs_conversion_cloud.DocxLoadOptions();
loadOptions.password = "password";			// password
loadOptions.hideComments = true;			// hide comments
loadOptions.hideWordTrackedChanges = true;	// hide track changes

settings.loadOptions = loadOptions;

// определить параметры преобразования PDF
let convertOptions = new groupdocs_conversion_cloud.PdfConvertOptions();
convertOptions.centerWindow = true;		  // set position of the document's window. Default: false.
convertOptions.displayDocTitle = true;	// display document title. Default: false
convertOptions.marginTop = 5;			      // top margin
convertOptions.marginLeft = 5;			    // left margin
convertOptions.marginRight = 5;			    // right margin
convertOptions.marginBottom = 5;			  // bottom margin

settings.convertOptions = convertOptions;
settings.outputPath = "converted_with_options.pdf";

// создать запрос на преобразование документа
var request = new groupdocs_conversion_cloud.ConvertDocumentRequest(settings);

// конвертировать документ
convertApi.convertDocument(request);

Преобразование Word в PDF с водяным знаком с помощью Node.js

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

  • Создайте экземпляр ConvertApi
  • Создайте экземпляр ConvertSettings
  • Укажите путь к входному файлу DOCX.
  • Назначьте «pdf» формату
  • Укажите путь к выходному файлу
  • Создайте экземпляр WatermarkOptions
  • Установите текст водяного знака, цвет, ширину, высоту и т. д.
  • Определите PdfConvertOptions и назначьте WatermarkOptions
  • Создайте ConvertDocumentRequest с ConvertSettings
  • Преобразуйте, вызвав метод convertDocument() с ConvertDocumentRequest.

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

// инициализация API
let convertApi = groupdocs_conversion_cloud.ConvertApi.fromKeys(clientId, clientSecret);

// определить настройки преобразования
let settings = new groupdocs_conversion_cloud.ConvertSettings();
settings.filePath = "sample.docx";
settings.format = "pdf";
settings.outputPath = "converted_with_watermark.pdf";

// определить параметры водяного знака
let watermark = new groupdocs_conversion_cloud.WatermarkOptions();
watermark.text = "CONFIDENTIAL";
watermark.bold = true;
watermark.fontSize = 54;
watermark.color = "Gray";
watermark.background = false;
watermark.rotationAngle = 30;
watermark.left = 120;
watermark.top = 400;

// определить параметры преобразования PDF
let convertOptions = new groupdocs_conversion_cloud.PdfConvertOptions();
convertOptions.watermarkOptions = watermark;

settings.convertOptions = convertOptions

// определить запрос на преобразование документа
let request = new groupdocs_conversion_cloud.ConvertDocumentRequest(settings);

// конвертировать документ
let result = await convertApi.convertDocument(request);
console.log("Document converted successfully: " + result[0].url);
Преобразование Word в PDF с водяным знаком с помощью Node.js

Преобразование Word в PDF с водяным знаком с помощью Node.js

Преобразование DOCX в PDF без использования облачного хранилища

Вы можете преобразовать документ Word в PDF без использования облачного хранилища, передав его в теле запроса и получив выходной файл в ответе API. Пожалуйста, следуйте инструкциям ниже, чтобы преобразовать DOCX в PDF без использования облачного хранилища.

  • Создайте экземпляр ConvertApi
  • Чтение входного файла DOCX из локального пути
  • Создать ConvertDocumentDirectRequest
  • Укажите целевой формат как «pdf» и путь к входному файлу в качестве входных параметров.
  • Получите результаты, вызвав метод convertDocumentDirect() с ConvertDocumentDirectRequest.
  • Сохраните выходной файл по локальному пути, используя метод FileStream.writeFile().

В следующем примере кода показано, как преобразовать документ Word в PDF без использования облачного хранилища.

// инициализация API
let convertApi = groupdocs_conversion_cloud.ConvertApi.fromKeys(clientId, clientSecret);

// прочитать входной файл
let file = fs.readFileSync('C:\\Files\\sample.docx');

// создать преобразовать запрос
let request = new groupdocs_conversion_cloud.ConvertDocumentDirectRequest("pdf", file);

// конвертировать документ
let result = await convertApi.convertDocumentDirect(request);

// записать выходной файл
fs.writeFile("C:\\Files\\sample_direct.pdf", result, "binary", function (err) { });
console.log("Document converted: " + result.length);

Преобразование диапазона страниц из DOCX в PDF в Node.js

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

  • Создайте экземпляр ConvertApi
  • Создайте экземпляр ConvertSettings
  • Укажите путь к входному файлу DOCX.
  • Назначьте «pdf» формату
  • Укажите путь к выходному файлу
  • Создайте экземпляр PdfConvertOptions
  • Укажите диапазон страниц для преобразования, начиная с номера начальной страницы и заканчивая общим количеством страниц для преобразования.
  • Назначьте PdfConvertOptions для ConvertSettings
  • Создайте ConvertDocumentRequest с ConvertSettings
  • Преобразуйте, вызвав метод convertDocument() с ConvertDocumentRequest.

В следующем примере кода показано, как преобразовать диапазон страниц из DOCX в PDF с помощью REST API в Node.js. Пожалуйста, следуйте шагам, упомянутым ранее, чтобы загрузить и скачать файл.

// инициализация API
let convertApi = groupdocs_conversion_cloud.ConvertApi.fromKeys(clientId, clientSecret);

// определить настройки преобразования
let settings = new groupdocs_conversion_cloud.ConvertSettings();
settings.filePath = "sample.docx";
settings.format = "pdf";

// определить параметры преобразования PDF
let convertOptions = new groupdocs_conversion_cloud.PdfConvertOptions();
convertOptions.fromPage = 1;    // start page number
convertOptions.pagesCount = 2;  // total pages to convert

settings.convertOptions = convertOptions
settings.outputPath = "two-pages.pdf";

// создать запрос на конвертацию
let request = new groupdocs_conversion_cloud.ConvertDocumentRequest(settings);

// конвертировать документ
let result = await convertApi.convertDocument(request);
console.log("Document converted successfully: " + result[0].url);

Преобразование определенных страниц DOCX в PDF в Node.js

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

  • Создайте экземпляр ConvertApi
  • Создайте экземпляр ConvertSettings
  • Укажите путь к входному файлу DOCX.
  • Назначьте «pdf» формату
  • Укажите путь к выходному файлу
  • Создайте экземпляр PdfConvertOptions
  • Укажите конкретные номера страниц для преобразования
  • Назначьте PdfConvertOptions для ConvertSettings
  • Создайте ConvertDocumentRequest с ConvertSettings
  • Преобразуйте, вызвав метод convertDocument() с ConvertDocumentRequest.

В следующем примере кода показано, как преобразовать определенные страницы документа Word в PDF с помощью REST API в Node.js. Пожалуйста, следуйте шагам, упомянутым ранее, чтобы загрузить и скачать файл.

// инициализация API
let convertApi = groupdocs_conversion_cloud.ConvertApi.fromKeys(clientId, clientSecret);

// определить настройки преобразования
let settings = new groupdocs_conversion_cloud.ConvertSettings();
settings.filePath = "sample.docx";
settings.format = "pdf";

// определить параметры преобразования
let convertOptions = new groupdocs_conversion_cloud.PdfConvertOptions();
convertOptions.pages = [1,2]; // page numbers to convert

settings.convertOptions = convertOptions
settings.outputPath = "specific_pages.pdf";

// преобразовать запрос документа
let request = new groupdocs_conversion_cloud.ConvertDocumentRequest(settings);

// конвертировать документ
let result = await convertApi.convertDocument(request);
console.log("Document converted successfully: " + result[0].url);

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

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

Заключение

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

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