So sánh Tài liệu Word bằng API REST trong Node.js

Là nhà phát triển Node.js, bạn có thể dễ dàng so sánh hai hoặc nhiều tài liệu Word để tìm điểm tương đồng và khác biệt theo chương trình trên đám mây. Nó có thể giúp bạn theo dõi các thay đổi trong các phiên bản khác nhau của cùng một tài liệu Word hoặc các tài liệu khác nhau. Trong bài viết này, bạn sẽ tìm hiểu cách so sánh hai hoặc nhiều 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:

API REST và SDK Node.js để so sánh tài liệu Word

Để so sánh hai hoặc nhiều tệp DOCX, chúng tôi sẽ sử dụng API Node.js SDK của GroupDocs.Comparison Cloud. Nó cho phép bạn so sánh hai hoặc nhiều tài liệu và tìm ra sự khác biệt trong một tệp kết quả. Bạn có thể dễ dàng tích hợp SDK ‎vào các ứng dụng Node.js ‎hiện có của mình để so sánh tài liệu, bảng tính, ‎bản trình bày, ‎sơ đồ Visio, email và tệp thuộc nhiều định dạng được hỗ trợ khác.

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

npm install groupdocs-comparison-cloud

Vui lòng lấy Client ID và Secret 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 config = new groupdocs_comparison_cloud.Configuration(clientId, clientSecret);
config.apiBaseUrl = "https://api.groupdocs.cloud";

So sánh hai tệp Word bằng API REST trong Node.js

Bạn có thể so sánh các tài liệu Word của mình theo chương trình bằng cách thực hiện theo các bước đơn giản dưới đây:

  1. Tải lên tệp DOCX lên Đám mây
  2. So sánh các tệp Word bằng Node.js
  3. Tải xuống tệp DOCX kết quả

Tải lên tệp DOCX

Đầu tiên, tải các tệp DOCX nguồn và đích lên Đám mây bằng cách sử dụng mẫu mã sau:

// xây dựng FileApi
let fileApi = groupdocs_comparison_cloud.FileApi.fromConfig(config);
let resourcesFolder = 'C:\\Files\\comparison\\uploads\\';

fs.readdir(resourcesFolder, (err, files) => {
  files.forEach(file => {
    console.log(file);
    fs.readFile(resourcesFolder + file, (err, fileStream) => {
      let request = new groupdocs_comparison_cloud.UploadFileRequest(file, fileStream, myStorage);
      fileApi.uploadFile(request);
    });
  });
});

Do đó, các 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.

So sánh các tệp Word bằng Node.js

Bạn có thể so sánh hai tài liệu Word theo chương trình bằng cách làm theo các bước dưới đây:

  • Đầu tiên, tạo một phiên bản của So sánhApi.
  • Tiếp theo, tạo một phiên bản của FileInfo và đặt đường dẫn tệp DOCX đầu vào nguồn.
  • Sau đó, tạo một phiên bản khác của FileInfo và đặt đường dẫn tệp DOCX đầu vào đích.
  • Sau đó, tạo một phiên bản của Tùy chọn so sánh và gán các tệp nguồn và đích.
  • Sau đó, đặt đường dẫn tệp đầu ra.
  • Tiếp theo, tạo So sánhRequest với So sánhOptions.
  • Cuối cùng, nhận kết quả bằng cách gọi phương thức CompareApi.comparisons() với ComparisonsRequest.

Mẫu mã sau đây cho biết cách so sánh hai tệp Word bằng API REST trong Node.js.

// khởi tạo api
let so sánhApi = groupdocs_comparison_cloud.CompareApi.fromKeys(clientId, clientSecret);

// tập tin nguồn
let source = new groupdocs_comparison_cloud.FileInfo();
source.filePath = "source.docx";

// tập tin mục tiêu
let target = new groupdocs_comparison_cloud.FileInfo();
target.filePath = "target.docx";

// xác định các tùy chọn so sánh
let options = new groupdocs_comparison_cloud.ComparisonOptions();
options.sourceFile = source;
options.targetFiles = [target];
options.outputPath = "so sánhd/result_so sánhOptions.docx";

// tạo yêu cầu so sánh
let request = new groupdocs_comparison_cloud.ComparisonsRequest(options);

// so sánh
let response = await so sánhApi.comparisons(request);
console.log("Output file link: " + response.href);
Tệp nguồn và tệp đích.

Tệp nguồn và tệp đích.

So sánh hai tệp Word bằng API REST trong Node.js

So sánh hai tệp Word bằng API REST trong Node.js

Tải xuống tệp kết quả

Mẫu mã trên sẽ lưu sự khác biệt trong tệp DOCX mới được tạo trên đám mây. Bạn có thể tải xuống bằng mẫu mã sau:

// xây dựng FileApi
let fileApi = groupdocs_comparison_cloud.FileApi.fromConfig(config);

// tạo yêu cầu tệp tải xuống
let request = new groupdocs_comparison_cloud.DownloadFileRequest("compared/result_compareOptions.docx", myStorage);

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

// lưu vào thư mục làm việc
fs.writeFile("C:\\Files\\comparison\\result_compareOptions.docx", response, "binary", function (err) { });

So sánh nhiều tệp DOCX bằng Node.js

Bạn có thể so sánh nhiều tài liệu Word theo chương trình bằng cách làm theo các bước dưới đây:

  • Đầu tiên, tạo một phiên bản của So sánhApi.
  • Tiếp theo, tạo một phiên bản của FileInfo và đặt đường dẫn tệp DOCX đầu vào nguồn.
  • Sau đó, tạo một phiên bản khác của FileInfo và đặt đường dẫn tệp DOCX đầu vào đích.
  • Lặp lại các bước trên để thêm nhiều tệp mục tiêu.
  • Sau đó, tạo một phiên bản của Tùy chọn so sánh và gán các tệp nguồn và đích.
  • Sau đó, đặt đường dẫn tệp đầu ra.
  • Tiếp theo, tạo So sánhRequest với So sánhOptions.
  • Cuối cùng, nhận kết quả bằng cách gọi phương thức CompareApi.comparisons() với ComparisonsRequest

Mẫu mã sau đây cho biết cách so sánh nhiều tệp Word bằng API REST trong Node.js.

// khởi tạo api
let so sánhApi = groupdocs_comparison_cloud.CompareApi.fromKeys(clientId, clientSecret);

// tập tin nguồn
let source = new groupdocs_comparison_cloud.FileInfo();
source.filePath = "source.docx";

// tập tin mục tiêu 1
let target1 = new groupdocs_comparison_cloud.FileInfo();
target1.filePath = "target1.docx";

// tập tin mục tiêu 2
let target2 = new groupdocs_comparison_cloud.FileInfo();
target2.filePath = "target2.docx";

// xác định các tùy chọn so sánh
let options = new groupdocs_comparison_cloud.ComparisonOptions();
options.sourceFile = source;
options.targetFiles = [target1, target2];
options.outputPath = "so sánhd/result_Multiple.docx";

// tạo yêu cầu so sánh
let request = new groupdocs_comparison_cloud.ComparisonsRequest(options);

// so sánh
let response = await so sánhApi.comparisons(request);
console.log("Output file link: " + response.href);

Nhận danh sách các thay đổi bằng API REST trong Node.js

Bạn có thể nhận được danh sách đầy đủ các điểm khác biệt được tìm thấy sau khi so sánh các 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 dưới đây:

  • Đầu tiên, tạo một phiên bản của So sánhApi
  • Tiếp theo, tạo một phiên bản của FileInfo và đặt đường dẫn tệp DOCX đầu vào nguồn
  • Sau đó, tạo một phiên bản khác của FileInfo và đặt đường dẫn tệp DOCX đầu vào đích
  • Sau đó, tạo một phiên bản của Tùy chọn so sánh và gán các tệp nguồn và đích
  • Sau đó, đặt đường dẫn tệp đầu ra
  • Tiếp theo, tạo PostChangesRequest với So sánhOptions
  • Sau đó, nhận kết quả bằng cách gọi phương thức So sánhApi.postChanges() với PostChangesRequest
  • Cuối cùng, hiển thị tất cả các thay đổi từng cái một

Mẫu mã sau đây cho biết cách nhận danh sách các thay đổi bằng cách sử dụng API REST trong Node.js.

// khởi tạo api
let compareApi = groupdocs_comparison_cloud.CompareApi.fromKeys(clientId, clientSecret);

// tập tin nguồn
let source = new groupdocs_comparison_cloud.FileInfo();
source.filePath = "source.docx";

// tập tin mục tiêu
let target = new groupdocs_comparison_cloud.FileInfo();
target.filePath = "target.docx";

// xác định các tùy chọn so sánh
let options = new groupdocs_comparison_cloud.ComparisonOptions();
options.sourceFile = source;
options.targetFiles = [target];
options.outputPath = "compared/result.docx";

// tạo yêu cầu thay đổi bài đăng
let request = new groupdocs_comparison_cloud.PostChangesRequest(options);

// bài thay đổi
let changes = await compareApi.postChanges(request);

console.log("Changes count: " + changes.length);

changes.forEach(change => {
  console.log(change.id + 1 +"- Target Text: " + change.targetText + ", Text: " + change.text + ", Type: " + change.type);
});
Nhận danh sách các thay đổi bằng API REST trong Node.js

Nhận danh sách các thay đổi bằng API REST trong Node.js

Tùy chỉnh kết quả so sánh bằng Node.js

Bạn có thể dễ dàng tùy chỉnh kiểu thay đổi theo chương trình bằng cách thực hiện theo các bước dưới đây:

  • Đầu tiên, tạo một phiên bản của So sánhApi.
  • Tiếp theo, tạo một phiên bản của FileInfo và đặt đường dẫn tệp DOCX đầu vào nguồn.
  • Sau đó, tạo một phiên bản khác của FileInfo và đặt đường dẫn tệp DOCX đầu vào đích.
  • Sau đó, tạo một phiên bản của Cài đặt và đặt các cài đặt so sánh khác nhau, chẳng hạn như độ nhạy của So sánh.
  • Tiếp theo, tạo các phiên bản của ItemStyle cho các kiểu đã chènItemsStyle, đã xóaItemsStyle và đã thay đổiItemsStyle.
  • Sau đó, đặt các thuộc tính khác nhau cho từng ItemStyle chẳng hạn như highlightColor, fontColor, đậm, nghiêng, v.v.
  • Sau đó, tạo một phiên bản của Tùy chọn so sánh và gán các tệp nguồn và đích.
  • Sau đó, đặt đường dẫn tệp đầu ra.
  • Tiếp theo, chỉ định cài đặt cho So sánhOptions
  • Sau đó, tạo So sánhRequest với So sánhOptions.
  • Cuối cùng, nhận kết quả bằng cách gọi phương thức CompareApi.comparisons() với ComparisonsRequest

Mẫu mã sau đây cho biết cách tùy chỉnh kết quả so sánh bằng cách sử dụng API REST trong Node.js.

// khởi tạo api
let so sánhApi = groupdocs_comparison_cloud.CompareApi.fromKeys(clientId, clientSecret);

// tập tin nguồn
let source = new groupdocs_comparison_cloud.FileInfo();
source.filePath = "source.docx";

// tập tin mục tiêu
let target = new groupdocs_comparison_cloud.FileInfo();
target.filePath = "target.docx";

// xác định cài đặt so sánh
let settings = new groupdocs_comparison_cloud.Settings();

// so sánh độ nhạy
settings.sensitivityOfComparison = 100;

// tùy chỉnh thay đổi kiểu cho các mục đã chèn
settings.insertedItemsStyle = new groupdocs_comparison_cloud.ItemsStyle();
settings.insertedItemsStyle.highlightColor = "14297642";
settings.insertedItemsStyle.fontColor = "16711680";
settings.insertedItemsStyle.underline = true;

// tùy chỉnh thay đổi kiểu cho các mục đã xóa
settings.deletedItemsStyle = new groupdocs_comparison_cloud.ItemsStyle();
settings.deletedItemsStyle.fontColor = "14166746";
settings.deletedItemsStyle.bold = true;

// tùy chỉnh thay đổi kiểu cho các mục đã thay đổi
settings.changedItemsStyle = new groupdocs_comparison_cloud.ItemsStyle();
settings.changedItemsStyle.fontColor = "14320170";
settings.changedItemsStyle.italic = true;

// xác định các tùy chọn so sánh
let options = new groupdocs_comparison_cloud.ComparisonOptions();
options.sourceFile = source;
options.targetFiles = [target];
options.outputPath = "so sánhd/result_so sánhOptions.docx";
options.settings = settings;

// tạo yêu cầu so sánh
let request = new groupdocs_comparison_cloud.ComparisonsRequest(options);

// so sánh
let response = await so sánhApi.comparisons(request);
console.log("Output file link: " + response.href);

Thử trực tuyến

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

Phần kết luận

Trong bài viết này, bạn đã học cách so sánh các tài liệu Word bằng API REST trên đám mây. Ngoài ra, bạn đã biết cách so sánh nhiều tệp DOCX 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 kết quả từ Đám mây. Ngoài ra, bạn có thể tìm hiểu thêm về GroupDocs.Comparison 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