Chỉnh sửa Tài liệu Word bằng API REST trong Node.js

Bạn có thể dễ dàng chỉnh sửa tài liệu Word của mình theo chương trình trên đám mây. Bạn có thể thêm, chỉnh sửa nội dung của tài liệu hoặc có thể áp dụng định dạng văn bản trong tài liệu Word theo chương trình trong các ứng dụng Node.js của mình. Bài viết này sẽ tập trung vào cách chỉnh sửa tài liệu Word bằng API REST trong Node.js.

Các chủ đề sau đây sẽ được đề cập trong bài viết này:

Trình chỉnh sửa tài liệu API REST và SDK Node.js

Tôi sẽ sử dụng Node.js SDK của GroupDocs.Editor Cloud API để chỉnh sửa các tệp DOCX. Nó cho phép bạn lập trình chỉnh sửa các tài liệu có định dạng được hỗ trợ như Word, bảng tính Excel, PowerPoint, TXT, HTML, XML. API cũng cho phép bạn chuyển đổi tài liệu thành HTML để chỉnh sửa và chuyển đổi nó trở lại định dạng ban đầu để giữ nguyên hình thức sau khi tài liệu được chỉnh sửa. Nó cũng cung cấp SDK .NET, Java, PHP, Ruby, Android và Python dưới dạng các thành viên trong họ trình soạn thảo tài liệu cho Cloud API.

Bạn có thể cài đặt GroupDocs.Editor Cloud cho ứng dụng Node.js của mình bằng cách sử dụng lệnh sau trong bảng điều khiển:

npm install groupdocs-editor-cloud

Vui lòng lấy Mã khách hàng và Bí mật của bạn từ bảng điều khiển trước khi làm theo các bước được đề cập. Khi bạn có ID và bí mật của mình, hãy thêm mã như hình bên dưới:

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";

Chỉnh sửa Tài liệu Word bằng API REST trong Node.js

Bạn có thể chỉnh sửa tài liệu Word bằng cách thực hiện theo các bước đơn giản được đề cập bên dưới:

  1. Tải lên tệp Word lên Đám mây
  2. Chỉnh sửa Tài liệu Word sử dụng Node.js
  3. Tải xuống tệp đã cập nhật

Tải lên tài liệu

Đầu tiên, tải tài liệu Word (DOCX) lên Đám mây bằng ví dụ mã được cung cấp bên dưới:

// xây dựng 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);
});

Do đó, tệp DOCX đã tải lên sẽ có sẵn trong phần tệp trên trang tổng quan của bạn trên đám mây.

Chỉnh sửa tài liệu Word bằng Node.js

Vui lòng làm theo các bước được đề cập bên dưới để chỉnh sửa tài liệu Word theo chương trình.

  • Tạo phiên bản của FileAPIEditAPI
  • Cung cấp đường dẫn tệp đầu vào trong FileInfo
  • Tạo WordProcessingLoadOptions
  • Tạo LoadRequest với LoadOptions
  • Tải tệp bằng phương thức load() của EditAPI
  • Tạo DownloadFileRequest với tệp đã tải
  • Tải xuống tài liệu HTML bằng phương pháp downloadFile() của FileAPI
  • Chỉnh sửa Tài liệu HTML đã tải xuống
  • Tạo UploadFileRequest
  • Tải lên lại HTML bằng phương thức uploadFile() của FileAPI
  • Cung cấp WordProcessingSaveOptions để lưu trong DOCX
  • Tạo SaveRequest với SaveOptions
  • Lưu HTML trở lại DOCX bằng phương pháp save() của Chỉnh sửa API

Đoạn mã sau cho biết cách chỉnh sửa tài liệu Word bằng API REST trong Node.js.

// khởi tạo api
let editApi = groupdocs_editor_cloud.EditApi.fromKeys(clientId, clientSecret);
let fileApi = groupdocs_editor_cloud.FileApi.fromKeys(clientId, clientSecret);

// tập tin đầu vào      
let fileInfo = new groupdocs_editor_cloud.FileInfo();
fileInfo.filePath = "Sample.docx";

// xác định tùy chọn tải
let loadOptions = new groupdocs_editor_cloud.WordProcessingLoadOptions();
loadOptions.fileInfo = fileInfo;
loadOptions.outputPath = "output";

// tạo yêu cầu tải
let loadRequest = new groupdocs_editor_cloud.LoadRequest(loadOptions);
let loadResult = await editApi.load(loadRequest);

// tải tài liệu html
let downloadRequest = new groupdocs_editor_cloud.DownloadFileRequest(loadResult.htmlPath);
let buf = await fileApi.downloadFile(downloadRequest);
let htmlString = buf.toString("utf-8");

// chỉnh sửa gì đó...
htmlString = htmlString.replace("Title of the document", "Welcome");
htmlString = htmlString.replace("Subtitle #1", "Hello world");

// tải html trở lại bộ nhớ
let uploadRequest = new groupdocs_editor_cloud.UploadFileRequest(loadResult.htmlPath, new Buffer.from(htmlString, "utf-8"));
await fileApi.uploadFile(uploadRequest);

// lưu html trở lại docx
let saveOptions = new groupdocs_editor_cloud.WordProcessingSaveOptions();
saveOptions.fileInfo = fileInfo;
saveOptions.outputPath = "output/edited.docx";
saveOptions.htmlPath = loadResult.htmlPath;
saveOptions.resourcesPath = loadResult.resourcesPath;

// tạo yêu cầu lưu
let saveRequest = new groupdocs_editor_cloud.SaveRequest(saveOptions);
let saveResult = await editApi.save(saveRequest);
console.log("Document edited: " + saveResult.path);
Chỉnh sửa Tài liệu Word bằng API REST trong Node.js

Chỉnh sửa Tài liệu Word bằng API REST trong Node.js

Tải xuống tệp cập nhật

Mẫu mã trên sẽ lưu tài liệu Word đã chỉnh sửa (DOCX) trên đám mây. Bạn có thể tải xuống bằng mẫu mã sau:

// khởi tạo api
var fileApi = groupdocs_editor_cloud.FileApi.fromConfig(configuration);

// tạo yêu cầu tải tập tin
let request = new groupdocs_editor_cloud.DownloadFileRequest("output/edited.docx", myStorage);

// Tải tập tin
let response = await fileApi.downloadFile(request);

// lưu tệp hình ảnh trong thư mục làm việc
fs.writeFile("C:\\Files\\edited.docx", response, "binary", function (err) { });

Thêm bảng trong Tài liệu Word bằng Node.js

Bạn có thể thêm bảng trong tài liệu Word theo cách lập trình bằng cách thực hiện theo các bước được đề cập bên dưới:

  • Tạo phiên bản của FileAPIEditAPI
  • Cung cấp đường dẫn tệp đầu vào trong FileInfo
  • Tạo WordProcessingLoadOptions
  • Tạo LoadRequest với LoadOptions
  • Tải tệp bằng phương thức load() của EditAPI
  • Tạo DownloadFileRequest với tệp đã tải
  • Tải xuống tài liệu HTML bằng phương pháp downloadFile() của FileAPI
  • Chỉnh sửa Tài liệu HTML đã tải xuống and add a table
  • Tạo UploadFileRequest
  • Tải lại HTML lên bằng phương pháp uploadFile() của FileAPI
  • Cung cấp WordProcessingSaveOptions để lưu trong DOCX
  • Tạo SaveRequest với SaveOptions
  • Lưu HTML trở lại DOCX bằng phương thức save() của EditAPI

Đoạn mã sau cho biết cách thêm bảng trong tài liệu Word bằng API REST trong Node.js.

// khởi tạo api
let editApi = groupdocs_editor_cloud.EditApi.fromKeys(clientId, clientSecret);
let fileApi = groupdocs_editor_cloud.FileApi.fromKeys(clientId, clientSecret);

// tập tin đầu vào      
let fileInfo = new groupdocs_editor_cloud.FileInfo();
fileInfo.filePath = "Sample.docx";

// xác định tùy chọn tải
let loadOptions = new groupdocs_editor_cloud.WordProcessingLoadOptions();
loadOptions.fileInfo = fileInfo;
loadOptions.outputPath = "output";

// tạo yêu cầu tải
let loadRequest = new groupdocs_editor_cloud.LoadRequest(loadOptions);
let loadResult = await editApi.load(loadRequest);

// tải tài liệu html
let downloadRequest = new groupdocs_editor_cloud.DownloadFileRequest(loadResult.htmlPath);
let buf = await fileApi.downloadFile(downloadRequest);
let htmlString = buf.toString("utf-8");

// thêm bảng
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>");

// tải html trở lại bộ nhớ
let uploadRequest = new groupdocs_editor_cloud.UploadFileRequest(loadResult.htmlPath, new Buffer.from(htmlString, "utf-8"));
await fileApi.uploadFile(uploadRequest);

// lưu html trở lại docx
let saveOptions = new groupdocs_editor_cloud.WordProcessingSaveOptions();
saveOptions.fileInfo = fileInfo;
saveOptions.outputPath = "output/edited.docx";
saveOptions.htmlPath = loadResult.htmlPath;
saveOptions.resourcesPath = loadResult.resourcesPath;

// tạo yêu cầu lưu
let saveRequest = new groupdocs_editor_cloud.SaveRequest(saveOptions);
let saveResult = await editApi.save(saveRequest);
console.log("Document edited: " + saveResult.path);
Thêm bảng trong Tài liệu Word bằng Node.js

Thêm bảng trong Tài liệu Word bằng Node.js

Chèn hình ảnh vào tài liệu Word bằng Node.js

Bạn có thể chèn hình ảnh vào tài liệu Word theo cách lập trình bằng cách thực hiện theo các bước được đề cập bên dưới:

  • Tạo phiên bản của FileAPIEditAPI
  • Cung cấp đường dẫn tệp đầu vào trong FileInfo
  • Tạo WordProcessingLoadOptions
  • Tạo LoadRequest với LoadOptions
  • Tải tệp bằng phương thức load() của EditAPI
  • Tạo DownloadFileRequest với tệp đã tải
  • Tải xuống tài liệu HTML bằng phương thức downloadFile() của FileAPI
  • Chỉnh sửa Tài liệu HTML đã tải xuống and insert an image
  • Tạo UploadFileRequest
  • Tải lên lại HTML bằng phương pháp uploadFile() của FileAPI
  • Cung cấp WordProcessingSaveOptions để lưu trong DOCX
  • Tạo SaveRequest với SaveOptions
  • Lưu HTML trở lại DOCX bằng phương thức save() của EditAPI

Đoạn mã sau cho biết cách chèn hình ảnh vào tài liệu Word bằng API REST trong Node.js.

// khởi tạo api
let editApi = groupdocs_editor_cloud.EditApi.fromKeys(clientId, clientSecret);
let fileApi = groupdocs_editor_cloud.FileApi.fromKeys(clientId, clientSecret);

// tập tin đầu vào   
let fileInfo = new groupdocs_editor_cloud.FileInfo();
fileInfo.filePath = "Sample.docx";

// xác định tùy chọn tải
let loadOptions = new groupdocs_editor_cloud.WordProcessingLoadOptions();
loadOptions.fileInfo = fileInfo;
loadOptions.outputPath = "output";

// tạo yêu cầu tải
let loadRequest = new groupdocs_editor_cloud.LoadRequest(loadOptions);
let loadResult = await editApi.load(loadRequest);

// tải tài liệu html
let downloadRequest = new groupdocs_editor_cloud.DownloadFileRequest(loadResult.htmlPath);
let buf = await fileApi.downloadFile(downloadRequest);
let htmlString = buf.toString("utf-8");

// chèn một hình ảnh
htmlString = htmlString.replace("left-aligned.", "left-aligned. <br/> <img src=\"sample.png\" alt=\"signatures\" style=\"width: 128px; height: 128px;\">");

// tải html trở lại bộ nhớ
let uploadRequest = new groupdocs_editor_cloud.UploadFileRequest(loadResult.htmlPath, new Buffer.from(htmlString, "utf-8"));
await fileApi.uploadFile(uploadRequest);

// lưu html trở lại docx
let saveOptions = new groupdocs_editor_cloud.WordProcessingSaveOptions();
saveOptions.fileInfo = fileInfo;
saveOptions.outputPath = "output/edited.docx";
saveOptions.htmlPath = loadResult.htmlPath;
saveOptions.resourcesPath = loadResult.resourcesPath;

// tạo yêu cầu lưu
let saveRequest = new groupdocs_editor_cloud.SaveRequest(saveOptions);
let saveResult = await editApi.save(saveRequest);
console.log("Document edited: " + saveResult.path);
Chèn hình ảnh vào tài liệu Word bằng Node.js

Chèn hình ảnh vào tài liệu Word bằng Node.js

Thử trực tuyến

Vui lòng dùng thử công cụ chỉnh sửa DOCX trực tuyến miễn phí sau đây, được phát triển bằng API trên. https://products.groupdocs.app/editor/docx

Phần kết luận

Trong bài viết này, bạn đã học cách chỉnh sửa tài liệu Word trên đám mây. Bạn cũng đã học cách thêm bảng vào tệp DOCX bằng API REST trong Node.js. Ngoài ra, bạn đã học cách chèn hình ảnh vào tài liệu Word theo cách lập trình. Bài viết này cũng giải thích cách lập trình tải tệp DOCX lên đám mây rồi tải xuống tệp đã chỉnh sửa từ Đám mây. Bạn có thể tìm hiểu thêm về GroupDocs.Editor Cloud API bằng cách sử dụng tài liệu. Chúng tôi cũng cung cấp phần Tham khảo API cho phép bạn hình dung và tương tác trực tiếp với các API của chúng tôi thông qua trình duyệt. Trong trường hợp có bất kỳ sự mơ hồ nào, vui lòng liên hệ với chúng tôi trên diễn đàn.

Xem thêm