So sánh các tệp PDF bằng API REST trong NodeJs

Bạn có thể so sánh hai hoặc nhiều tài liệu PDF theo chương trình trên Đám mây. Việc so sánh cho phép bạn xác định những điểm tương đồng và khác biệt trong các tài liệu. Trong bài viết này, bạn sẽ tìm hiểu cách so sánh các tệp PDF bằng API REST trong Node.js.

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

So sánh tài liệu API REST và SDK Node.js

Tôi sẽ sử dụng API Node.js SDK của GroupDocs.Comparison Cloud để so sánh các tài liệu PDF. 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. Kết quả là, nó tạo ra một tệp kết quả chứa các điểm khác biệt. Nó cũng cho phép bạn chấp nhận hoặc từ chối các thay đổi đã truy xuất. Bạn có thể dễ dàng tích hợp nó 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 ở nhiều định dạng khác. Nó cũng cung cấp SDK .NET, Java, PHP, Python và Ruby dưới dạng các thành viên họ so sánh tài liệu cho Cloud API.

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 --save

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 config = new groupdocs_comparison_cloud.Configuration(clientId, clientSecret);
config.apiBaseUrl = "https://api.groupdocs.cloud";

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

Bạn có thể so sánh các tài liệu PDF 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 PDF lên Đám mây
  2. [So sánh tệp PDF bằng Node.js](#So sánh tệp PDF-sử dụng Node.js)
  3. Tải xuống tệp PDF kết quả

Tải lên tệp PDF

Đầu tiên, tải các tệp PDF 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\\';

fs.readdir(resourcesFolder, (err, files) => {
  files.forEach(file => {
    // đọc từng tập tin một
    fs.readFile(resourcesFolder + file, (err, fileStream) => {
      // tạo yêu cầu tệp tải lên
      let request = new groupdocs_comparison_cloud.UploadFileRequest(file, fileStream, myStorage);
      // cập nhật dử liệu
      fileApi.uploadFile(request)
        .then(function (response) {
          console.log(file + " uploaded: " + response.uploaded.length);
        })
        .catch(function (error) {
          console.log("Error: " + error.message);
        });
    });
  });
});

Do đó, các tệp PDF đã 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 PDF bằng Node.js

Bạn có thể so sánh hai tài liệu PDF theo chương trình bằng cách thực hiện theo các bước được đề cập bên dưới:

  • Tạo một phiên bản của So sánhApi
  • Đặt tệp .pdf nguồn
  • Đặt tệp .pdf đích
  • Xác định tùy chọn so sánh
  • Chỉ định tệp nguồn và tệp đích
  • Đặt đường dẫn tệp đầu ra
  • Tạo yêu cầu so sánh
  • Nhận kết quả bằng cách gọi phương thức CompareApi.comparisons()

Ví dụ mã sau đây cho biết cách so sánh hai tệp PDF 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.pdf";

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

// 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.pdf";

// 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);
So sánh các tệp PDF bằng Node.js

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

Tệp kết quả cũng chứa một trang tóm tắt ở cuối tài liệu như hình bên dưới:

So sánh các tệp PDF 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 PDF 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.pdf", 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\\result.pdf", response, "binary", function (err) { });

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

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

  • Tạo một phiên bản của So sánhApi
  • Đặt tệp .pdf nguồn
  • Đặt nhiều tệp .pdf mục tiêu
  • Tạo ví dụ So sánhOptions
  • Chỉ định tệp nguồn và tệp đích
  • Đặt đường dẫn tệp đầu ra
  • Tạo yêu cầu so sánh
  • Nhận kết quả bằng cách gọi phương thức CompareApi.comparisons()

Ví dụ mã sau đây cho biết cách so sánh nhiều tệp PDF 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.pdf";

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

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

// 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.pdf";

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

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 được đề cập bên dưới:

  • Tạo một phiên bản của So sánhApi
  • Đặt tệp .pdf nguồn
  • Đặt tệp .pdf đích
  • Tạo phiên bản Cài đặt
  • Đặt độ nhạy so sánh
  • Tùy chỉnh kiểu mục
  • Tạo ví dụ So sánhOptions
  • Chỉ định tệp nguồn và tệp đích
  • Đặt đường dẫn tệp đầu ra
  • Chỉ định cài đặt
  • Tạo yêu cầu so sánh
  • Nhận kết quả bằng cách gọi phương thức CompareApi.comparisons()

Ví dụ mã sau đây cho biết cách tùy chỉnh kết quả so sánh 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.pdf";

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

// 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 phong cách
settings.insertedItemsStyle = new groupdocs_comparison_cloud.ItemsStyle();
settings.insertedItemsStyle.highlightColor = "14297642";
settings.insertedItemsStyle.fontColor = "16711680";
settings.insertedItemsStyle.underline = true;
settings.deletedItemsStyle = new groupdocs_comparison_cloud.ItemsStyle();
settings.deletedItemsStyle.fontColor = "14166746";
settings.deletedItemsStyle.bold = true;
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.pdf";
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);

Nhận danh sách các thay đổi bằng 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 PDF theo chương trình bằng cách thực hiện theo các bước đơn giản được đề cập bên dưới:

  • Tạo một phiên bản của So sánhApi
  • Đặt tệp .pdf nguồn
  • Đặt tệp .pdf đích
  • Xác định tùy chọn so sánh
  • Tạo yêu cầu so sánh
  • Nhận kết quả bằng cách gọi phương thức CompareApi.comparisons()
  • Hiển thị tất cả các thay đổi từng cái một

Ví dụ 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.pdf";

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

// 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.pdf";

// tạo yêu cầu so sánh
let request = new groupdocs_comparison_cloud.PostChangesRequest(options);
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 Node.js

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

So sánh và Lưu với Mật khẩu & Siêu dữ liệu bằng Node.js {#Compare-and-Save-with-Password-&-Metadata-using-Nodejs}

Vui lòng làm theo các bước được đề cập bên dưới để bảo vệ tệp kết quả bằng mật khẩu và lưu tệp với siêu dữ liệu:

  • Tạo một phiên bản của So sánhApi
  • Đặt tệp .pdf nguồn
  • Đặt tệp .pdf đích
  • Tạo phiên bản Cài đặt
  • Đặt siêu dữ liệu và mật khẩu
  • Tạo ví dụ So sánhOptions
  • Chỉ định tệp nguồn và tệp đích
  • Đặt đường dẫn tệp đầu ra
  • Chỉ định cài đặt
  • Tạo yêu cầu so sánh
  • Nhận kết quả bằng cách gọi phương thức CompareApi.comparisons()

Ví dụ mã sau đây cho biết cách lưu tệp kết quả bằng mật khẩu và siêu dữ liệu 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.pdf";

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

let settings = new groupdocs_comparison_cloud.Settings();

// đặt siêu dữ liệu
settings.metadata = new groupdocs_comparison_cloud.Metadata();
settings.metadata.author = "Author";
settings.metadata.company = "GroupDocs";
settings.metadata.lastSaveBy = "Last saved by";
settings.cloneMetadata = groupdocs_comparison_cloud.Settings.CloneMetadataEnum.FileAuthor;

// đặt mật khẩu
settings.password = "password";
settings.passwordSaveOption = groupdocs_comparison_cloud.Settings.PasswordSaveOptionEnum.User;

// 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_Metadata.pdf";
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);

Thử trực tuyến

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

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 PDF trên đám mây. Bạn cũng đã học cách so sánh nhiều tệp PDF, tùy chỉnh kiểu thay đổi và nhận danh sách các thay đổi. Hơn nữa, bạn đã học cách lập trình tải nhiều tệp PDF lên đám mây và sau đó tải xuống tệp kết quả từ đám mây. 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 chiếu 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