Редагуйте документи Word за допомогою REST API у Node.js

Ви можете легко редагувати свої документи Word програмно в хмарі. Ви можете додавати, редагувати вміст документів або застосовувати програмне форматування тексту в документах Word у своїх програмах Node.js. У цій статті мова піде про те, як редагувати документи Word за допомогою REST API у Node.js.

У цій статті будуть розглянуті такі теми:

Редактор документів REST API та Node.js SDK

Я використовуватиму API Node.js SDK GroupDocs.Editor Cloud для редагування файлів DOCX. Він дозволяє програмно редагувати документи підтримуваних форматів, таких як Word, електронні таблиці Excel, PowerPoint, TXT, HTML, XML. API також дозволяє конвертувати документ у HTML для редагування та повертає його до вихідного формату, зберігаючи той самий вигляд після редагування документа. Він також надає .NET, Java, PHP, Ruby, Android і Python SDK як члени родини редакторів документів для Cloud API.

Ви можете встановити GroupDocs.Editor Cloud у свою програму Node.js за допомогою такої команди в консолі:

npm install groupdocs-editor-cloud

Будь ласка, отримайте свій ідентифікатор клієнта та секрет із інформаційної панелі, перш ніж виконувати вказані дії. Отримавши ідентифікатор і секрет, додайте код, як показано нижче:

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

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

Редагуйте документи Word за допомогою REST API у Node.js

Ви можете редагувати документи Word, виконавши прості кроки, згадані нижче:

  1. Завантажте файл Word у хмару
  2. Редагувати Документ Word із використанням Node.js
  3. Завантажити оновлений файл

Завантажте документ

По-перше, завантажте документ Word (DOCX) у хмару, використовуючи наведений нижче приклад коду:

// побудувати FileApi
let fileApi = groupdocs_editor_cloud.FileApi.fromConfig(configuration);
let resourcesFolder = 'C:\\Files\\sample.docx';

fs.readFile(resourcesFolder, (err, fileStream) => {
  let request = new groupdocs_editor_cloud.UploadFileRequest("sample.docx", fileStream, myStorage);
  fileApi.uploadFile(request);
});

У результаті завантажений файл DOCX буде доступний у розділі файлів вашої інформаційної панелі в хмарі.

Редагуйте документ Word за допомогою Node.js

Виконайте наведені нижче кроки, щоб програмно редагувати документи Word.

  • Створіть екземпляри FileAPI та EditAPI
  • Укажіть шлях до вхідного файлу в FileInfo
  • Створіть WordProcessingLoadOptions
  • Створіть LoadRequest з LoadOptions
  • Завантажте файл за допомогою методу load() EditAPI
  • Створіть DownloadFileRequest із завантаженим файлом
  • Завантажте HTML-документ за допомогою методу downloadFile() FileAPI
  • Відредагуйте завантажений HTML-документ
  • Створіть UploadFileRequest
  • Завантажте HTML назад за допомогою методу uploadFile() FileAPI
  • Надайте WordProcessingSaveOptions для збереження в DOCX
  • Створіть SaveRequest за допомогою SaveOptions
  • Збережіть HTML назад у DOCX за допомогою методу save() Edit API

У наведеному нижче фрагменті коду показано, як редагувати документ Word за допомогою REST API у Node.js.

// ініціалізація API
let editApi = groupdocs_editor_cloud.EditApi.fromKeys(clientId, clientSecret);
let fileApi = groupdocs_editor_cloud.FileApi.fromKeys(clientId, clientSecret);

// вхідний файл      
let fileInfo = new groupdocs_editor_cloud.FileInfo();
fileInfo.filePath = "Sample.docx";

// визначити параметри навантаження
let loadOptions = new groupdocs_editor_cloud.WordProcessingLoadOptions();
loadOptions.fileInfo = fileInfo;
loadOptions.outputPath = "output";

// створити запит на завантаження
let loadRequest = new groupdocs_editor_cloud.LoadRequest(loadOptions);
let loadResult = await editApi.load(loadRequest);

// завантажити html документ
let downloadRequest = new groupdocs_editor_cloud.DownloadFileRequest(loadResult.htmlPath);
let buf = await fileApi.downloadFile(downloadRequest);
let htmlString = buf.toString("utf-8");

// редагувати щось...
htmlString = htmlString.replace("Title of the document", "Welcome");
htmlString = htmlString.replace("Subtitle #1", "Hello world");

// завантажити html назад у сховище
let uploadRequest = new groupdocs_editor_cloud.UploadFileRequest(loadResult.htmlPath, new Buffer.from(htmlString, "utf-8"));
await fileApi.uploadFile(uploadRequest);

// зберегти html назад у docx
let saveOptions = new groupdocs_editor_cloud.WordProcessingSaveOptions();
saveOptions.fileInfo = fileInfo;
saveOptions.outputPath = "output/edited.docx";
saveOptions.htmlPath = loadResult.htmlPath;
saveOptions.resourcesPath = loadResult.resourcesPath;

// створити запит на збереження
let saveRequest = new groupdocs_editor_cloud.SaveRequest(saveOptions);
let saveResult = await editApi.save(saveRequest);
console.log("Document edited: " + saveResult.path);
Редагуйте документи Word за допомогою REST API у Node.js

Редагуйте документи Word за допомогою REST API у Node.js

Завантажте оновлений файл

Наведений вище зразок коду збереже відредагований документ Word (DOCX) у хмарі. Ви можете завантажити його за допомогою наступного зразка коду:

// ініціалізувати api
var fileApi = groupdocs_editor_cloud.FileApi.fromConfig(configuration);

// створити запит на завантаження файлу
let request = new groupdocs_editor_cloud.DownloadFileRequest("output/edited.docx", myStorage);

// завантажити файл
let response = await fileApi.downloadFile(request);

// зберегти файл зображення в робочому каталозі
fs.writeFile("C:\\Files\\edited.docx", response, "binary", function (err) { });

Додайте таблицю в документи Word за допомогою Node.js

Ви можете додати таблицю в документ Word програмно, виконавши наведені нижче дії.

  • Створіть екземпляри FileAPI і EditAPI
  • Укажіть шлях до вхідного файлу в FileInfo
  • Створіть WordProcessingLoadOptions
  • Створіть LoadRequest з LoadOptions
  • Завантажте файл за допомогою методу load() EditAPI
  • Створіть DownloadFileRequest із завантаженим файлом
  • Завантажте HTML-документ за допомогою методу downloadFile() FileAPI
  • Відредагуйте завантажений HTML-документ and add a table
  • Створіть UploadFileRequest
  • Завантажте HTML назад за допомогою методу uploadFile() FileAPI
  • Надайте WordProcessingSaveOptions для збереження в DOCX
  • Створіть SaveRequest за допомогою SaveOptions
  • Збережіть HTML назад у DOCX за допомогою методу save() EditAPI

У наведеному нижче фрагменті коду показано, як додати таблицю в документ Word за допомогою REST API у Node.js.

// ініціалізація API
let editApi = groupdocs_editor_cloud.EditApi.fromKeys(clientId, clientSecret);
let fileApi = groupdocs_editor_cloud.FileApi.fromKeys(clientId, clientSecret);

// вхідний файл      
let fileInfo = new groupdocs_editor_cloud.FileInfo();
fileInfo.filePath = "Sample.docx";

// визначити параметри навантаження
let loadOptions = new groupdocs_editor_cloud.WordProcessingLoadOptions();
loadOptions.fileInfo = fileInfo;
loadOptions.outputPath = "output";

// створити запит на завантаження
let loadRequest = new groupdocs_editor_cloud.LoadRequest(loadOptions);
let loadResult = await editApi.load(loadRequest);

// завантажити html документ
let downloadRequest = new groupdocs_editor_cloud.DownloadFileRequest(loadResult.htmlPath);
let buf = await fileApi.downloadFile(downloadRequest);
let htmlString = buf.toString("utf-8");

// додати таблицю
htmlString = htmlString.replace("left-aligned.", "left-aligned. <br/><table style=\"width: 100%;background-color: #dddddd;\">"
		+ "<caption style=\"font-weight:bold;\"> Persons List</caption>"
		+ "<tr><th>First Name</th><th>Last Name</th><th>Age</th></tr>"
		+ "<tr><td>Jill</td><td>Smith</td><td>50</td></tr>"
		+ "<tr><td>Eve</td><td>Jackson</td><td>94</td></tr>"
		+ "</table>");

// завантажити html назад у сховище
let uploadRequest = new groupdocs_editor_cloud.UploadFileRequest(loadResult.htmlPath, new Buffer.from(htmlString, "utf-8"));
await fileApi.uploadFile(uploadRequest);

// зберегти html назад у docx
let saveOptions = new groupdocs_editor_cloud.WordProcessingSaveOptions();
saveOptions.fileInfo = fileInfo;
saveOptions.outputPath = "output/edited.docx";
saveOptions.htmlPath = loadResult.htmlPath;
saveOptions.resourcesPath = loadResult.resourcesPath;

// створити запит на збереження
let saveRequest = new groupdocs_editor_cloud.SaveRequest(saveOptions);
let saveResult = await editApi.save(saveRequest);
console.log("Document edited: " + saveResult.path);
Додайте таблицю в документи Word за допомогою Node.js

Додайте таблицю в документи Word за допомогою Node.js

Вставте зображення в документи Word за допомогою Node.js

Ви можете вставити зображення в документ Word програмно, виконавши наведені нижче дії.

  • Створіть екземпляри FileAPI і EditAPI
  • Укажіть шлях до вхідного файлу в FileInfo
  • Створіть WordProcessingLoadOptions
  • Створіть LoadRequest з LoadOptions
  • Завантажте файл за допомогою методу load() EditAPI
  • Створити DownloadFileRequest із завантаженим файлом
  • Завантажте HTML-документ за допомогою методу downloadFile() FileAPI
  • Відредагуйте завантажений HTML-документ and insert an image
  • Створіть UploadFileRequest
  • Завантажте HTML назад за допомогою методу uploadFile() FileAPI
  • Надайте WordProcessingSaveOptions для збереження в DOCX
  • Створіть SaveRequest за допомогою SaveOptions
  • Збережіть HTML назад у DOCX за допомогою методу save() EditAPI

У наведеному нижче фрагменті коду показано, як вставити зображення в документ Word за допомогою REST API у Node.js.

// ініціалізація API
let editApi = groupdocs_editor_cloud.EditApi.fromKeys(clientId, clientSecret);
let fileApi = groupdocs_editor_cloud.FileApi.fromKeys(clientId, clientSecret);

// вхідний файл   
let fileInfo = new groupdocs_editor_cloud.FileInfo();
fileInfo.filePath = "Sample.docx";

// визначити параметри навантаження
let loadOptions = new groupdocs_editor_cloud.WordProcessingLoadOptions();
loadOptions.fileInfo = fileInfo;
loadOptions.outputPath = "output";

// створити запит на завантаження
let loadRequest = new groupdocs_editor_cloud.LoadRequest(loadOptions);
let loadResult = await editApi.load(loadRequest);

// завантажити html документ
let downloadRequest = new groupdocs_editor_cloud.DownloadFileRequest(loadResult.htmlPath);
let buf = await fileApi.downloadFile(downloadRequest);
let htmlString = buf.toString("utf-8");

// вставте зображення
htmlString = htmlString.replace("left-aligned.", "left-aligned. <br/> <img src=\"sample.png\" alt=\"signatures\" style=\"width: 128px; height: 128px;\">");

// завантажити html назад у сховище
let uploadRequest = new groupdocs_editor_cloud.UploadFileRequest(loadResult.htmlPath, new Buffer.from(htmlString, "utf-8"));
await fileApi.uploadFile(uploadRequest);

// зберегти html назад у docx
let saveOptions = new groupdocs_editor_cloud.WordProcessingSaveOptions();
saveOptions.fileInfo = fileInfo;
saveOptions.outputPath = "output/edited.docx";
saveOptions.htmlPath = loadResult.htmlPath;
saveOptions.resourcesPath = loadResult.resourcesPath;

// створити запит на збереження
let saveRequest = new groupdocs_editor_cloud.SaveRequest(saveOptions);
let saveResult = await editApi.save(saveRequest);
console.log("Document edited: " + saveResult.path);
Вставте зображення в документи Word за допомогою Node.js

Вставте зображення в документи Word за допомогою Node.js

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

Будь ласка, спробуйте наведений нижче безкоштовний онлайн-інструмент для редагування DOCX, розроблений за допомогою наведеного вище API. https://products.groupdocs.app/editor/docx

Висновок

У цій статті ви дізналися, як редагувати документи Word у хмарі. Ви також дізналися, як додати таблицю у файл DOCX за допомогою REST API у Node.js. Крім того, ви навчилися програмно вставляти зображення в документ Word. У цій статті також пояснюється, як програмно завантажити файл DOCX у хмару, а потім завантажити відредагований файл із хмари. Ви можете дізнатися більше про GroupDocs.Editor Cloud API, використовуючи документацію. Ми також надаємо розділ API Reference, який дозволяє візуалізувати наші API та взаємодіяти з ними безпосередньо через браузер. У разі будь-яких неясностей зв’яжіться з нами на форумі.

Дивись також