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

PDF(Định dạng Tài liệu Di động) là một trong những loại tệp được sử dụng phổ biến nhất hiện nay. Thường được sử dụng để phân phối tài liệu chỉ đọc, giữ nguyên bố cục của trang. Trong nhiều trường hợp, chúng tôi có thể cần so sánh nội dung của hai hoặc nhiều tài liệu PDF hoặc so sánh nhiều phiên bản của cùng một tài liệu. Chúng ta có thể dễ dàng so sánh các tài liệu PDF theo lập trình để xác định những điểm tương đồng và khác biệt. Trong bài viết này, chúng ta sẽ tìm hiểu cách so sánh các tệp PDF bằng API REST trong Python.

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

API REST để so sánh các tệp PDF và Python SDK

Để so sánh các tài liệu PDF, chúng tôi sẽ sử dụng Python SDK của GroupDocs.Comparison Cloud API. Nó cho phép bạn so sánh ‎hai hoặc nhiều tài liệu thuộc các định dạng được hỗ trợ và tìm ra sự khác biệt. Vui lòng cài đặt nó bằng lệnh sau trong bảng điều khiển:

pip 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:

# Ví dụ về mã này trình bày cách đặt ID ứng dụng khách và bí mật.
client_id = "659fe7da-715b-4744-a0f7-cf469a392b73"
client_secret = "b377c36cfa28fa69960ebac6b6e36421"

configuration = groupdocs_comparison_cloud.Configuration(client_id, client_secret)
configuration.api_base_url = "https://api.groupdocs.cloud"
my_storage = ""

So sánh hai tệp PDF bằng API REST trong Python

Chúng tôi có thể so sánh các tài liệu PDF trên đám mây bằng cách thực hiện theo các bước đơn giản dưới đây:

  1. Tải lên các tệp PDF lên đám mây
  2. [So sánh các tệp PDF](#So sánh-PDF-Tệp-sử dụng-Python)
  3. Tải xuống tệp PDF kết quả

Tải lên tệp PDF

Đầu tiên, chúng tôi sẽ 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:

# Ví dụ mã này trình bày cách tải tệp PDF lên đám mây.
# Tạo phiên bản của API
file_api = groupdocs_comparison_cloud.FileApi.from_config(configuration)

# tải lên các tập tin mẫu
for filename in glob.iglob("C:\\Files\\*.pdf", recursive=True):
    destFile = filename.replace("C:\\Files\\", "", 1)            
    file_api.upload_file(groupdocs_comparison_cloud.UploadFileRequest(destFile, filename))
    print("Uploaded file: "+ destFile)

Do đó, các tệp đã tải lên sẽ có sẵn trong phần tệp của bảng điều khiển trên đám mây.

So sánh các tệp PDF bằng Python

Chúng tôi có thể so sánh hai tài liệu PDF 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.
  • Sau đó, đặt đường dẫn tệp PDF nguồn.
  • Sau đó, tạo một phiên bản khác của FileInfo.
  • Sau đó, đặt đường dẫn tệp PDF đích.
  • Tiếp theo, tạo một phiên bản của So sánhOptions.
  • Sau đó, chỉ định các tệp nguồn và đích.
  • Ngoài ra, hãy đặt đường dẫn tệp đầu ra.
  • Sau đó, tạo một thể hiện của đối tượng ComparisonsRequest với ComparisonOptions
  • Cuối cùng, nhận kết quả bằng cách gọi phương thức So sánhApi.comparisons() với đối số là ReferencesRequest.

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

# Ví dụ mã này trình bày cách so sánh hai tệp PDF.
# Tạo một phiên bản của API
api_instance = groupdocs_comparison_cloud.CompareApi.from_keys(client_id, client_secret)

# Tệp nguồn đầu vào
source = groupdocs_comparison_cloud.FileInfo()
source.file_path = "source.pdf"

# Tập tin mục tiêu
target = groupdocs_comparison_cloud.FileInfo()
target.file_path = "target.pdf"

# Xác định các tùy chọn so sánh
options = groupdocs_comparison_cloud.ComparisonOptions()
options.source_file = source
options.target_files = [target]
options.output_path = "result.pdf"

# Tạo yêu cầu so sánh
request = groupdocs_comparison_cloud.ComparisonsRequest(options)

# so sánh
response = api_instance.comparisons(request)
So sánh hai tệp PDF bằng API REST trong Python

So sánh hai tệp PDF bằng API REST trong Python.

Tệp PDF 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:

Trang tóm tắt.

Trang tóm tắt hiển thị tổng số phần tử đã xóa hoặc đã chèn.

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. Nó có thể được tải xuống bằng ví dụ mã sau:

# Ví dụ mã này trình bày cách tải xuống tệp kết quả.
# Tạo phiên bản của API
file_api = groupdocs_comparison_cloud.FileApi.from_config(configuration)

# Tạo yêu cầu tệp tải xuống
request = groupdocs_comparison_cloud.DownloadFileRequest("result.pdf", my_storage)

# Tải tập tin
response = file_api.download_file(request)

# Di chuyển tệp đã tải xuống vào thư mục làm việc của bạn
shutil.move(response, "C:\\Files\\") 

So sánh nhiều tệp PDF trong Python

Chúng tôi có thể so sánh nhiều tài liệu PDF 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 PDF nguồn.
  • Sau đó, tạo một phiên bản khác của FileInfo và đặt đường dẫn tệp PDF đích.
  • Sau đó, lặp lại bước trên để thêm các tệp đích khác.
  • Tiếp theo, tạo một phiên bản của So sánhOptions.
  • Sau đó, chỉ định tệp nguồn/đích và đặt đường dẫn tệp đầu ra.
  • Sau đó, tạo một thể hiện của đối tượng ComparisonsRequest với ComparisonOptions
  • Cuối cùng, nhận kết quả bằng cách gọi phương thức So sánhApi.comparisons() với đối số là ReferencesRequest.

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

# Ví dụ mã này minh họa cách so sánh nhiều tệp PDF.
# Tạo các phiên bản API cần thiết
api_instance = groupdocs_comparison_cloud.CompareApi.from_keys(client_id, client_secret)

# Nguồn PDF
source = groupdocs_comparison_cloud.FileInfo()
source.file_path = "source.pdf"

# Mục tiêu PDF 1
target1 = groupdocs_comparison_cloud.FileInfo()
target1.file_path = "target.pdf"

# Mục tiêu PDF 2
target2 = groupdocs_comparison_cloud.FileInfo()
target2.file_path = "target2.pdf"

# Xác định các tùy chọn so sánh
options = groupdocs_comparison_cloud.ComparisonOptions()
options.source_file = source
options.target_files = [target1, target2]
options.output_path = "result.pdf"

# Tạo yêu cầu so sánh và so sánh
request = groupdocs_comparison_cloud.ComparisonsRequest(options)
response = api_instance.comparisons(request)

Tùy chỉnh kết quả so sánh trong Python

Chúng tôi có thể tùy chỉnh kiểu thay đổi được tìm thấy trong kết quả của quá trình so sá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 PDF nguồn.
  • Sau đó, tạo một phiên bản khác của FileInfo và đặt đường dẫn tệp PDF đích.
  • Tiếp theo, tạo một phiên bản của Cài đặt.
  • Sau đó, đặt độ nhạy so sánh và các thuộc tính khác nhau để tùy chỉnh kiểu của Mục.
  • Tiếp theo, tạo một phiên bản của So sánhOptions.
  • Sau đó, chỉ định tệp nguồn/đích và đặt đường dẫn tệp đầu ra.
  • Sau đó, tạo một thể hiện của đối tượng ComparisonsRequest với ComparisonOptions
  • Cuối cùng, nhận kết quả bằng cách gọi phương thức So sánhApi.comparisons() với đối số là ReferencesRequest.

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

# Ví dụ về mã này trình bày cách cTùy chỉnh kết quả so sánh.
# Tạo các phiên bản API cần thiết
api_instance = groupdocs_comparison_cloud.So sánhApi.from_keys(client_id, client_secret)

# Nguồn PDF
source = groupdocs_comparison_cloud.FileInfo()
source.file_path = "source.pdf"

# Mục tiêu PDF
target = groupdocs_comparison_cloud.FileInfo()
target.file_path = "target.pdf"

settings = groupdocs_comparison_cloud.Settings()

# So sánh độ nhạy
settings.sensitivity_of_comparison = 100

# Tùy chỉnh kiểu cho các thay đổi
settings.inserted_items_style = groupdocs_comparison_cloud.ItemsStyle()
settings.inserted_items_style.highlight_color = "14297642"
settings.inserted_items_style.font_color = "16711680"
settings.inserted_items_style.underline = True
settings.deleted_items_style = groupdocs_comparison_cloud.ItemsStyle()
settings.deleted_items_style.font_color = "14166746"
settings.deleted_items_style.bold = True
settings.changed_items_style = groupdocs_comparison_cloud.ItemsStyle()
settings.changed_items_style.font_color = "14320170"
settings.changed_items_style.italic = True

# Xác định các tùy chọn so sánh
options = groupdocs_comparison_cloud.ComparisonOptions()
options.source_file = source
options.target_files = [target]
options.output_path = "result.pdf"
options.settings = settings

# Tạo yêu cầu so sánh
request = groupdocs_comparison_cloud.ComparisonsRequest(options)

# So sánh
response = api_instance.comparisons(request)

Nhận danh sách các thay đổi trong Python

Chúng tôi có thể nhận danh sách tất cả các thay đổi được tìm thấy trong quá trình so sánh các tệp PDF 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 PDF nguồn.
  • Sau đó, tạo một phiên bản khác của FileInfo và đặt đường dẫn tệp PDF đích.
  • Tiếp theo, tạo một phiên bản của So sánhOptions.
  • Sau đó, chỉ định tệp nguồn/đích và đặt đường dẫn tệp đầu ra.
  • Sau đó, tạo một thể hiện của đối tượng PostChangesRequest với So sánhOptions
  • Cuối cùng, nhận kết quả bằng cách gọi phương thức So sánhApi.post\changes() với đối số là ReferencesRequest.

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 Python.

# Ví dụ mã này trình bày cách lấy danh sách tất cả các thay đổi.
# Tạo các phiên bản API cần thiết
api_instance = groupdocs_comparison_cloud.CompareApi.from_keys(client_id, client_secret)

# Nguồn PDF
source = groupdocs_comparison_cloud.FileInfo()
source.file_path = "source.pdf"

# Mục tiêu PDF
target = groupdocs_comparison_cloud.FileInfo()
target.file_path = "target.pdf"

# Xác định các tùy chọn so sánh
options = groupdocs_comparison_cloud.ComparisonOptions()
options.source_file = source
options.target_files = [target]
options.output_path = "result.pdf"

# Tạo yêu cầu thay đổi bài viết
request = groupdocs_comparison_cloud.PostChangesRequest(options)
# Đăng thay đổi
response = api_instance.post_changes(request)

# Hiển thị thay đổi
for change in response:
  print("Change # " + str(change.id + 1) + "- Target Text: " + str(change.target_text) + ", Text: " + str(change.text) + ", Type: " + str(change.type));
Nhận danh sách các thay đổi trong Python

Nhận danh sách các thay đổi trong Python.

So sánh và Lưu với Mật khẩu & Siêu dữ liệu trong Python

Chúng tôi có thể bảo vệ tệp kết quả bằng mật khẩu và lưu tệp bằng siêu dữ liệu 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 PDF nguồn.
  • Sau đó, tạo một phiên bản khác của FileInfo và đặt đường dẫn tệp PDF đích.
  • Tiếp theo, tạo một phiên bản của Cài đặt.
  • Sau đó, tạo một phiên bản của Siêu dữ liệu.
  • Sau đó, đặt các thuộc tính siêu dữ liệu khác nhau như tác giả, công ty, lần cuối\lưu\bởi, v.v.
  • Sau đó, đặt mật khẩu và mật khẩu\save\options.
  • Tiếp theo, tạo một phiên bản của So sánhOptions.
  • Sau đó, chỉ định tệp nguồn/đích và đặt đường dẫn tệp đầu ra.
  • Sau đó, tạo một thể hiện của đối tượng ComparisonsRequest với ComparisonOptions
  • Cuối cùng, nhận kết quả bằng cách gọi phương thức So sánhApi.comparisons() với đối số là ReferencesRequest.

Mẫu 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 Python.

# Ví dụ mã này trình bày cách lưu tệp kết quả bằng mật khẩu và siêu dữ liệu.
# Tạo các phiên bản API cần thiết
api_instance = groupdocs_comparison_cloud.So sánhApi.from_keys(client_id, client_secret)

# Nguồn PDF
source = groupdocs_comparison_cloud.FileInfo()
source.file_path = "source.pdf"

# Mục tiêu PDF
target = groupdocs_comparison_cloud.FileInfo()
target.file_path = "target.pdf"

settings = groupdocs_comparison_cloud.Settings()
# Đặt siêu dữ liệu
settings.meta_data = groupdocs_comparison_cloud.Metadata()
settings.meta_data.author = "Tom"
settings.meta_data.company = "GroupDocs"
settings.meta_data.last_save_by = "Jack"

#Set password
settings.password_save_option = "User"
settings.password = "password"

# Xác định các tùy chọn so sánh
options = groupdocs_comparison_cloud.ComparisonOptions()
options.source_file = source
options.target_files = [target]
options.output_path = "result.pdf"
options.settings = settings

# Tạo yêu cầu so sánh
request = groupdocs_comparison_cloud.ComparisonsRequest(options)

# So sánh
response = api_instance.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, chúng ta đã học cách so sánh các tài liệu PDF trên đám mây. Chúng ta cũng đã thấy 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 trong Python. Bài viết này cũng giải thích cách lập trình tải nhiều tệp PDF 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