Порівняйте PDF-файли за допомогою REST API у Python

PDF(Portable Document Format) є одним із найпоширеніших типів файлів сьогодні. Зазвичай використовується для розповсюдження документів лише для читання, зберігаючи макет сторінки. У різних випадках нам може знадобитися порівняти вміст двох або більше PDF-документів або порівняти кілька версій одного документа. Ми можемо легко програмно порівняти PDF-документи, щоб визначити подібності та відмінності. У цій статті ми дізнаємося, як порівнювати PDF-файли за допомогою REST API у Python.

У цій статті будуть розглянуті такі теми:

REST API для порівняння PDF-файлів і Python SDK

Для порівняння PDF-документів ми будемо використовувати API Python SDK GroupDocs.Comparison Cloud. Це дозволяє порівнювати ‎два або більше документів підтримуваних форматів і знаходити відмінності. Встановіть його за допомогою такої команди в консолі:

pip install groupdocs_comparison_cloud

Будь ласка, отримайте свій ідентифікатор клієнта та секрет із інформаційної панелі, перш ніж виконувати вказані дії. Отримавши ідентифікатор і секрет, додайте код, як показано нижче:

# Цей приклад коду демонструє, як встановити ідентифікатор клієнта та секрет.
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 = ""

Порівняйте два PDF-файли за допомогою REST API у Python

Ми можемо порівняти PDF-документи в хмарі, виконавши прості дії, наведені нижче:

  1. Завантажте файли PDF у хмару
  2. Порівняти PDF-файли
  3. Завантажити отриманий PDF-файл

Завантажте PDF-файли

По-перше, ми завантажимо вихідний і цільовий PDF-файли в хмару за допомогою наступного зразка коду:

# Цей приклад коду демонструє, як завантажувати файли PDF у хмару.
# Створіть екземпляр API
file_api = groupdocs_comparison_cloud.FileApi.from_config(configuration)

# завантажити зразки файлів
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)

У результаті завантажені файли будуть доступні в розділі файлів інформаційної панелі в хмарі.

Порівняйте файли PDF за допомогою Python

Ми можемо програмно порівняти два PDF-документи, виконавши наведені нижче дії.

  • По-перше, створіть екземпляр CompareApi.
  • Далі створіть екземпляр FileInfo.
  • Потім встановіть шлях до вихідного файлу PDF.
  • Після цього створіть інший екземпляр FileInfo.
  • Потім встановіть шлях цільового файлу PDF.
  • Далі створіть екземпляр ComparisonOptions.
  • Потім призначте вихідний і цільовий файли.
  • Також встановіть шлях до вихідного файлу.
  • Після цього створіть екземпляр ComparisonsRequest з об’єктом ComparisonOptions
  • Нарешті, отримайте результати, викликавши метод CompareApi.comparisons() із ComparisonsRequest як аргумент.

У наведеному нижче прикладі коду показано, як порівняти два PDF-файли за допомогою REST API у Python.

# Цей приклад коду демонструє, як порівняти два файли PDF.
# Створіть екземпляр API
api_instance = groupdocs_comparison_cloud.CompareApi.from_keys(client_id, client_secret)

# Вхідний вихідний файл
source = groupdocs_comparison_cloud.FileInfo()
source.file_path = "source.pdf"

# Цільовий файл
target = groupdocs_comparison_cloud.FileInfo()
target.file_path = "target.pdf"

# Визначте варіанти порівняння
options = groupdocs_comparison_cloud.ComparisonOptions()
options.source_file = source
options.target_files = [target]
options.output_path = "result.pdf"

# Створити запит на порівняння
request = groupdocs_comparison_cloud.ComparisonsRequest(options)

# порівняти
response = api_instance.comparisons(request)
Порівняйте два PDF-файли за допомогою REST API у Python

Порівняйте два PDF-файли за допомогою REST API у Python.

Отриманий файл PDF також містить сторінку підсумку в кінці документа, як показано нижче:

Сторінка резюме.

Сторінка підсумку, на якій показано загальну кількість видалених або вставлених елементів.

Завантажте отриманий файл

Наведений вище приклад коду збереже відмінності у щойно створеному файлі PDF у хмарі. Його можна завантажити за допомогою такого прикладу коду:

# Цей приклад коду демонструє, як завантажити отриманий файл.
# Створіть екземпляр API
file_api = groupdocs_comparison_cloud.FileApi.from_config(configuration)

# Створити запит на завантаження файлу
request = groupdocs_comparison_cloud.DownloadFileRequest("result.pdf", my_storage)

# Завантажити файл
response = file_api.download_file(request)

# Перемістіть завантажений файл у свій робочий каталог
shutil.move(response, "C:\\Files\\") 

Порівняйте кілька PDF-файлів у Python

Ми можемо порівняти кілька PDF-документів, виконавши наведені нижче дії.

  • По-перше, створіть екземпляр CompareApi.
  • Далі створіть екземпляр FileInfo та встановіть шлях до вихідного файлу PDF.
  • Потім створіть інший екземпляр FileInfo та встановіть шлях цільового файлу PDF.
  • Після цього повторіть описаний вище крок, щоб додати більше цільових файлів.
  • Далі створіть екземпляр ComparisonOptions.
  • Потім призначте вихідні/цільові файли та встановіть шлях до вихідного файлу.
  • Після цього створіть екземпляр ComparisonsRequest з об’єктом ComparisonOptions
  • Нарешті, отримайте результати, викликавши метод CompareApi.comparisons() із ComparisonsRequest як аргумент.

У наведеному нижче прикладі коду показано, як порівняти кілька PDF-файлів за допомогою REST API у Python.

# У цьому прикладі коду показано, як порівняти кілька PDF-файлів.
# Створіть необхідні екземпляри API
api_instance = groupdocs_comparison_cloud.CompareApi.from_keys(client_id, client_secret)

# Джерело PDF
source = groupdocs_comparison_cloud.FileInfo()
source.file_path = "source.pdf"

# Цільовий PDF 1
target1 = groupdocs_comparison_cloud.FileInfo()
target1.file_path = "target.pdf"

# Цільовий PDF 2
target2 = groupdocs_comparison_cloud.FileInfo()
target2.file_path = "target2.pdf"

# Визначте варіанти порівняння
options = groupdocs_comparison_cloud.ComparisonOptions()
options.source_file = source
options.target_files = [target1, target2]
options.output_path = "result.pdf"

# Створіть запит на порівняння та порівняйте
request = groupdocs_comparison_cloud.ComparisonsRequest(options)
response = api_instance.comparisons(request)

Налаштування результатів порівняння в Python

Ми можемо налаштувати стиль змін, знайдених у результаті процесу порівняння, дотримуючись наведених нижче кроків:

  • По-перше, створіть екземпляр CompareApi.
  • Далі створіть екземпляр FileInfo та встановіть шлях до вихідного файлу PDF.
  • Потім створіть інший екземпляр FileInfo та встановіть шлях цільового файлу PDF.
  • Далі створіть екземпляр Параметрів.
  • Потім встановіть чутливість порівняння та різні властивості, щоб налаштувати стиль елемента.
  • Далі створіть екземпляр ComparisonOptions.
  • Потім призначте вихідні/цільові файли та встановіть шлях до вихідного файлу.
  • Після цього створіть екземпляр ComparisonsRequest з об’єктом ComparisonOptions
  • Нарешті, отримайте результати, викликавши метод CompareApi.comparisons() із ComparisonsRequest як аргумент.

У наступному прикладі коду показано, як налаштувати результати порівняння за допомогою REST API у Python.

# Цей приклад коду демонструє, як cНалаштувати результати порівняння.
# Створіть необхідні екземпляри API
api_instance = groupdocs_comparison_cloud.ПорівняйтеApi.from_keys(client_id, client_secret)

# Джерело PDF
source = groupdocs_comparison_cloud.FileInfo()
source.file_path = "source.pdf"

# Цільовий PDF
target = groupdocs_comparison_cloud.FileInfo()
target.file_path = "target.pdf"

settings = groupdocs_comparison_cloud.Settings()

# Порівняйте чутливість
settings.sensitivity_of_comparison = 100

# Налаштуйте стилі для змін
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

# Визначте варіанти порівняння
options = groupdocs_comparison_cloud.ComparisonOptions()
options.source_file = source
options.target_files = [target]
options.output_path = "result.pdf"
options.settings = settings

# Створити запит на порівняння
request = groupdocs_comparison_cloud.ComparisonsRequest(options)

# Порівняйте
response = api_instance.comparisons(request)

Отримати список змін у Python

Ми можемо отримати список усіх змін, знайдених під час порівняння PDF-файлів, виконавши наведені нижче кроки:

  • По-перше, створіть екземпляр CompareApi.
  • Далі створіть екземпляр FileInfo та встановіть шлях до вихідного файлу PDF.
  • Потім створіть інший екземпляр FileInfo та встановіть шлях цільового файлу PDF.
  • Далі створіть екземпляр ComparisonOptions.
  • Потім призначте вихідні/цільові файли та встановіть шлях до вихідного файлу.
  • Після цього створіть екземпляр PostChangesRequest з об’єктом ComparisonOptions
  • Нарешті, отримайте результати, викликавши метод CompareApi.post\changes() із ComparisonsRequest як аргументом.

У наведеному нижче прикладі коду показано, як отримати список змін за допомогою REST API у Python.

# Цей приклад коду демонструє, як отримати список усіх змін.
# Створіть необхідні екземпляри API
api_instance = groupdocs_comparison_cloud.CompareApi.from_keys(client_id, client_secret)

# Джерело PDF
source = groupdocs_comparison_cloud.FileInfo()
source.file_path = "source.pdf"

# Цільовий PDF
target = groupdocs_comparison_cloud.FileInfo()
target.file_path = "target.pdf"

# Визначте варіанти порівняння
options = groupdocs_comparison_cloud.ComparisonOptions()
options.source_file = source
options.target_files = [target]
options.output_path = "result.pdf"

# Створити запит на зміни публікації
request = groupdocs_comparison_cloud.PostChangesRequest(options)
# Опублікувати зміни
response = api_instance.post_changes(request)

# Відображення змін
for change in response:
  print("Change # " + str(change.id + 1) + "- Target Text: " + str(change.target_text) + ", Text: " + str(change.text) + ", Type: " + str(change.type));
Отримати список змін у Python

Отримати список змін у Python.

Порівняйте та збережіть за допомогою пароля та метаданих у Python

Ми можемо захистити отриманий файл паролем і зберегти його з метаданими, виконавши наведені нижче дії.

  • По-перше, створіть екземпляр CompareApi.
  • Далі створіть екземпляр FileInfo та встановіть шлях до вихідного файлу PDF.
  • Потім створіть інший екземпляр FileInfo та встановіть шлях цільового файлу PDF.
  • Далі створіть екземпляр Параметрів.
  • Потім створіть екземпляр метаданих.
  • Після цього встановіть різноманітні властивості метаданих, як-от автор, компанія, останній\збережений\автор тощо.
  • Потім встановіть пароль і пароль\зберегти\параметри.
  • Далі створіть екземпляр ComparisonOptions.
  • Потім призначте вихідні/цільові файли та встановіть шлях до вихідного файлу.
  • Після цього створіть екземпляр ComparisonsRequest з об’єктом ComparisonOptions
  • Нарешті, отримайте результати, викликавши метод CompareApi.comparisons() із ComparisonsRequest як аргумент.

У наведеному нижче прикладі коду показано, як зберегти отриманий файл із паролем і метаданими за допомогою REST API у Python.

# Цей приклад коду демонструє, як зберегти отриманий файл із паролем і метаданими.
# Створіть необхідні екземпляри API
api_instance = groupdocs_comparison_cloud.ПорівняйтеApi.from_keys(client_id, client_secret)

# Джерело PDF
source = groupdocs_comparison_cloud.FileInfo()
source.file_path = "source.pdf"

# Цільовий PDF
target = groupdocs_comparison_cloud.FileInfo()
target.file_path = "target.pdf"

settings = groupdocs_comparison_cloud.Settings()
# Встановити метадані
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"

# Визначте варіанти порівняння
options = groupdocs_comparison_cloud.ComparisonOptions()
options.source_file = source
options.target_files = [target]
options.output_path = "result.pdf"
options.settings = settings

# Створити запит на порівняння
request = groupdocs_comparison_cloud.ComparisonsRequest(options)

# Порівняйте
response = api_instance.comparisons(request)

Спробуйте онлайн

Будь ласка, спробуйте наведений нижче безкоштовний онлайн-інструмент порівняння PDF-файлів, який розроблено за допомогою вищезазначеного API. https://products.groupdocs.app/comparison/pdf

Висновок

У цій статті ми дізналися, як порівнювати PDF-документи в хмарі. Ми також побачили, як порівнювати кілька PDF-файлів, налаштовувати стиль змін і отримувати список змін у Python. У цій статті також пояснюється, як програмно завантажити кілька PDF-файлів у хмару, а потім завантажити отриманий файл із хмари. Крім того, ви можете дізнатися більше про GroupDocs.Comparison Cloud API за допомогою документації. Ми також надаємо розділ API Reference, який дозволяє візуалізувати наші API та взаємодіяти з ними безпосередньо через браузер. У разі будь-яких неясностей зв’яжіться з нами на форумі.

Дивись також