Skip to content

Instantly share code, notes, and snippets.

@groupdocs-cloud-gists
Last active December 10, 2021 04:40
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save groupdocs-cloud-gists/e2023fcd48c74f88496bbb0599fc52cc to your computer and use it in GitHub Desktop.
Save groupdocs-cloud-gists/e2023fcd48c74f88496bbb0599fc52cc to your computer and use it in GitHub Desktop.
Compare PDF Files using REST API in Python

Learn how to compare PDF files using a REST API in Python: https://blog.groupdocs.cloud/2021/12/10/compare-pdf-files-using-rest-api-in-python/

The following topics shall be covered in this article:

  1. REST API to Compare PDF Files and Python SDK
  2. Compare Two PDF Files using a REST API in Python
  3. Compare Multiple PDF Files in Python
  4. Customize Comparison Results in Python
  5. Get List of Changes in Python
  6. Compare and Save with Password & Metadata in Python
# This code example demonstrates how to compare two PDF files.
# Create an instance of the API
api_instance = groupdocs_comparison_cloud.CompareApi.from_keys(client_id, client_secret)
# Input source file
source = groupdocs_comparison_cloud.FileInfo()
source.file_path = "source.pdf"
# Target file
target = groupdocs_comparison_cloud.FileInfo()
target.file_path = "target.pdf"
# Define comparison options
options = groupdocs_comparison_cloud.ComparisonOptions()
options.source_file = source
options.target_files = [target]
options.output_path = "result.pdf"
# Create comparison request
request = groupdocs_comparison_cloud.ComparisonsRequest(options)
# compare
response = api_instance.comparisons(request)
# This code example demonstartes how to compare multiple PDF files.
# Create necessary API instances
api_instance = groupdocs_comparison_cloud.CompareApi.from_keys(client_id, client_secret)
# Source PDF
source = groupdocs_comparison_cloud.FileInfo()
source.file_path = "source.pdf"
# Target PDF 1
target1 = groupdocs_comparison_cloud.FileInfo()
target1.file_path = "target.pdf"
# Target PDF 2
target2 = groupdocs_comparison_cloud.FileInfo()
target2.file_path = "target2.pdf"
# Define comparison options
options = groupdocs_comparison_cloud.ComparisonOptions()
options.source_file = source
options.target_files = [target1, target2]
options.output_path = "result.pdf"
# Create comparison request and compare
request = groupdocs_comparison_cloud.ComparisonsRequest(options)
response = api_instance.comparisons(request)
# This code example demonstrates how to save the resultant file with a password and metadata.
# Create necessary API instances
api_instance = groupdocs_comparison_cloud.CompareApi.from_keys(client_id, client_secret)
# Source PDF
source = groupdocs_comparison_cloud.FileInfo()
source.file_path = "source.pdf"
# Target PDF
target = groupdocs_comparison_cloud.FileInfo()
target.file_path = "target.pdf"
settings = groupdocs_comparison_cloud.Settings()
# Set metadata
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"
# Define comparison options
options = groupdocs_comparison_cloud.ComparisonOptions()
options.source_file = source
options.target_files = [target]
options.output_path = "result.pdf"
options.settings = settings
# Create comparison request
request = groupdocs_comparison_cloud.ComparisonsRequest(options)
# Compare
response = api_instance.comparisons(request)
# This code example demonstrates how to set client ID and secret.
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 = ""
# This code example demonstrates how to cCustomize the comparison results.
# Create necessary API instances
api_instance = groupdocs_comparison_cloud.CompareApi.from_keys(client_id, client_secret)
# Source PDF
source = groupdocs_comparison_cloud.FileInfo()
source.file_path = "source.pdf"
# Target PDF
target = groupdocs_comparison_cloud.FileInfo()
target.file_path = "target.pdf"
settings = groupdocs_comparison_cloud.Settings()
# Compare sensitivity
settings.sensitivity_of_comparison = 100
# Customize styles for the changes
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
# Define comparison options
options = groupdocs_comparison_cloud.ComparisonOptions()
options.source_file = source
options.target_files = [target]
options.output_path = "result.pdf"
options.settings = settings
# Create comparison request
request = groupdocs_comparison_cloud.ComparisonsRequest(options)
# Compare
response = api_instance.comparisons(request)
# This code example demonstrates how to download the resulting file.
# Create instance of the API
file_api = groupdocs_comparison_cloud.FileApi.from_config(configuration)
# Create download file request
request = groupdocs_comparison_cloud.DownloadFileRequest("result.pdf", my_storage)
# Download file
response = file_api.download_file(request)
# Move downloaded file to your working directory
shutil.move(response, "C:\\Files\\")
# This code example demonstrates how to get list of all the changes.
# Create necessary API instances
api_instance = groupdocs_comparison_cloud.CompareApi.from_keys(client_id, client_secret)
# Source PDF
source = groupdocs_comparison_cloud.FileInfo()
source.file_path = "source.pdf"
# Target PDF
target = groupdocs_comparison_cloud.FileInfo()
target.file_path = "target.pdf"
# Define comparison options
options = groupdocs_comparison_cloud.ComparisonOptions()
options.source_file = source
options.target_files = [target]
options.output_path = "result.pdf"
# Create post changes request
request = groupdocs_comparison_cloud.PostChangesRequest(options)
# Post changes
response = api_instance.post_changes(request)
# Display changes
for change in response:
print("Change # " + str(change.id + 1) + "- Target Text: " + str(change.target_text) + ", Text: " + str(change.text) + ", Type: " + str(change.type));
# This code example demonstrates how to upload PDF files to the cloud.
# Create instance of the API
file_api = groupdocs_comparison_cloud.FileApi.from_config(configuration)
# upload sample files
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)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment