Главное Авторские колонки Вакансии Вопросы
72 0 В избр. Сохранено
Авторизуйтесь
Вход с паролем

Автоматизируйте проверки различий PDF с помощью Python (без ручной вычитки)

В этой статье описано, как использовать библиотеку **Spire.PDF для Python** для автоматизации сравнения PDF-документов с помощью программирования.
Мнение автора может не совпадать с мнением редакции

В сценариях, связанных с версионным контролем документов, проверкой контрактов и вычиткой отчетов, часто требуется точно выявлять различия между двумя файлами PDF. Традиционное ручное сравнение страниц по одной неэффективно и легко пропускает изменения. В этой статье описано, как использовать библиотеку Spire.PDF для Python для автоматизации сравнения PDF-документов с помощью программирования.

Установите нужную библиотеку

Сначала установите библиотеку Spire.PDF через pip:

pip install Spire.PDF

Эта библиотека обеспечивает полноценную обработку PDF. Класс PdfComparer специально предназначен для сравнения документов. Обратите внимание: это коммерческий продукт, но он предоставляет бесплатную версию с базовой функциональностью, чтобы разработчики могли оценить её возможности.

Полное сравнение документов

Когда нужно сравнить все содержимое двух PDF-документов, можно использовать следующий подход:

from spire.pdf.common import *

from spire.pdf import *

# Загрузка первого документа

doc_one = PdfDocument("PDF_ONE.pdf")

# Загрузка второго документа

doc_two = PdfDocument("PDF_TWO.pdf")

# Создание объекта PdfComparer: doc_two — базовая версия, doc_one — целевая версия

comparer = PdfComparer(doc_two, doc_one)

# Запуск сравнения и сохранение результатов в новый PDF-файл

comparer.Compare("ComparisonResults.pdf")

# Освобождение ресурсов документов

doc_one.Dispose()

doc_two.Dispose()

После выполнения кода выше программа сгенерирует отчет о различиях с именем ComparisonResults.pdf. В отчете различия между документами выделяются разными цветами, что позволяет пользователям быстро находить измененные разделы.

Объяснение параметров : В конструкторе PdfComparer первый параметр — базовая версия, а второй — версия, которую нужно сравнить. Выходной отчет о различиях аннотируется базовой версией в качестве ссылки.

Сравнение отдельных страниц

В реальных приложениях пользователям может быть важно только сравнение определенных страниц документов. Следующий код показывает, как ограничить сравнение заданным диапазоном страниц:

from spire.pdf.common import *

from spire.pdf import *

# Загрузка двух PDF-документов

doc_one = PdfDocument("PDF_ONE.pdf")

doc_two = PdfDocument("PDF_TWO.pdf")

# Создание экземпляра PdfComparer

comparer = PdfComparer(doc_two, doc_one)

# Установка диапазонов страниц: сравниваем страницы 1–3 первого документа

# со страницами 1–3 второго документа

comparer.PdfCompareOptions.SetPageRanges(1, 3, 1, 3)

# Выполнение сравнения для указанного диапазона

comparer.Compare("ComparePageRanges.pdf")

# Освобождение ресурсов

doc_one.Dispose()

doc_two.Dispose()

SetPageRanges(start1, end1, start2, end2) использует первые два параметра, чтобы указать номера начальной и конечной страниц базового документа, а последние два — номера начальной и конечной страниц документа, который нужно сравнить. Этот метод поддерживает случаи, когда диапазоны страниц с обеих сторон не совпадают; система будет строго сравнивать страницы в соответствии с заданными вами диапазонами, постранично.

Как читать отчет о различиях

Сгенерированный PDF с результатами сравнения использует следующие правила разметки:

  1. Желтое выделение : указывает на вновь добавленное содержимое
  2. Красное выделение : указывает на удаленное содержимое

Используя режим просмотра «бок о бок», пользователи могут четко определить точные различия между двумя версиями.

Типичные сценарии использования

  1. Проверка юридических контрактов : быстро выявлять изменения в положениях контракта
  2. Выявление ошибок в научной статье : находить текстовые изменения между разными версиями
  3. Управление версиями технической документации : отслеживать изменения в обновлениях руководств к продуктам
  4. Сверка финансовой отчетности : проверять числовые изменения в отчетных данных

Примечания

  1. Бесплатная версия имеет ограничение по страницам (обычно первые 10 страниц). Полная функциональность требует коммерческой лицензии.
  2. Эта функция сравнения работает для PDF-документов с текстом. Если PDF хранятся как изображения (отсканированные документы), результаты сравнения могут быть ограничены.
  3. После завершения сравнения обязательно вызовите Dispose(), чтобы освободить объекты документов и системные ресурсы, предотвращая утечки памяти.

Итог

Spire.PDF для Python предоставляет простой, но мощный способ сравнивать PDF-документы. С помощью небольшого объема кода разработчики могут автоматизировать анализ различий. Независимо от того, сравниваете ли вы целый документ или только определенные страницы, эта библиотека эффективно повышает качество и ускоряет процесс проверки документов в рабочих процессах.

0
В избр. Сохранено
Авторизуйтесь
Вход с паролем