Комментарии 28
Задача , описаная автором, может быть расширена до сравнения одного и того же документа, полученного например сканированием в планшетном сканере и изображения, полученного при помощи камеры,при съёмки из папки судебного дела.
В российском суде часто участники судебного заседания останавливаются для того, чтобы сличить документ с его фотографией. Но ещё чаще судья просто отказывается это делать.
Или например вывешивая судебное дело на сайте, размещаешь постраничные фотографии дела, при этом часто параллельно даёшь ссылку на скан того-же документа полученного на сканере ( или полученного тобой же из файла Word).
Было бы очень полезно, если бы была разработана и продавалась утилита (лучше программа) или в сети действовал on-line сервис, который бы подтверждал, своей электронной подписью степень идентичности фотографии и качественного скана.
Задача , описаненая автором, при этом несколько расширится, но польза вырастит неимоверно.
Сравнение картинок гибко настраивается: imagemagick.org/script/compare.php
Можете к этому приделать GUI и коммерциализировать; а мне хватит скрипта на десять строк.
Если в документ будет добавлена, или удалена как у автора теста, строка, то различными будут признаны остаток текущей страницы и все последующие
+1
Примерно так и делал на чертежах проектной документации.
Есть реальная задача сравнивать подписанный скан с изначальным оригиналом. При этом сам скан может быть весьма разного качества (не говоря уже об поворотах, сгибах и прочем, если он получен с помощью камеры смартфона)..
P.S. Для сравнения текстовых файлов пользуюсь программой Winmerge, и она, в целом соответствующая своему предназначению, тоже далека от совершенства от потребностей пользователей. Для сравнения текстовых файлов есть, среди разных программ, и программа Windiff…
А, у кого и какие предпочтения и почему при использовании каких программ сравнения текстовых файлов?
fc
, до модных онлайн-платформ типа editor.mergely.comНесмотря на это, весь мир ежедневно хранит миллионы своих самых важных документов в формате PDF
Нормальные люди PDF используют только для того, что нужно "дать почитать" человеку. Зачастую, это результат экспорта из какого-то другого формата. И вот этот формат в зависимости от задачи должен уметь все, что требуется. Например, в PDF выгружают всякие отчеты, где мастер-данные хранятся в БД, xml или где-то еще.
Это могут быть юридические соглашения или исправления в отчёте, которые, скорее всего, в наши дни будут представлены в формате PDF
Использовать PDF там, где что-то будет редактироваться себе дороже. Это примерно как слать текст картинкой и потом жаловаться, что с ним ничего нельзя сделать.
PDF идеальный формат для публикации документа, не подразумевающей его последующее редактирование. PDF позволяет избежать практически любых проблем форматирования, графики, формул, отсутствующих приложений с уникальными форматами которые работают на редких ОС, и т.д. плюс цифровая подпись. PDF это то же самое что и распечатка на бумаге. Никому же не приходит в голову жаловаться, что невозможно редактировать текст после печати на принтере. Можно всего лишь добавить заметки на полях, подчеркнуть или зачеркнуть что что-либо карандашиком.
PDF идеальный формат для публикации документа, не подразумевающей его последующее редактирование.
Но зато имеющий один существенный недостаток — в таком документе нельзя производить поиск (в общем случае). Для настоящего электронного документооборота его использовать нельзя, и дело не в возможности редактирования
с каких пор в PDF нет поиска?
скачайте даташит https://static.chipdip.ru/lib/059/DOC000059747.pdf и там поиск работает, и перемещение по ссылкам как во вне, так и внутри документа
Поиска (и других функций) не будет, если PDF сделан из картинок
Я не совсем уверен, что "общий случай" сильно важен практически. В общем случае нельзя вообще использовать файлы для поиска, всегда может подвернуться jpg или bin. В общем случае может не существовать решения, или в общем случае можно доказать NP-completeness. PDF достаточно удобен на практике, для довольно большого множества задач. Но да, он переусложнен и возможно предоставляет слишком много свободы. Но тут, так сказать, trade-off, иногда эти возможности - killer фича.
Нет большой проблемы. Есть diffpdf в репозиториях Linux. Для Windows бинарное приложение платное (https://www.qtrac.eu/diffpdf.html), но оно open source, можно собрать самому. Но это для обычных текстовых PDF, сравнение текста на сканированных растровых изображениях - совершенно отдельная и более сложная задача.
- текстовый слой есть, но последовательность строк в нём отличается от фактически видимой на странице (чаще всего в таблицах и негоризонтальных строках);
- текстовый слой есть, но в уникальной одноразовой кодировке, включающей только глифы, задействованные в конкретном документе;
- текстовый слой есть, но редко используемые глифы выводятся не как текст, а как кривые — т.е. удалены из шрифта и заинлайнены в страницу...
Это всё не считая комбинаций из текста-текстом и текста-картинкой.
Рендерить и OCR-ить документы в итоге оказывается проще, чем парсить.
https://github.com/vslavik/diff-pdf
pdftotext certificate_covid.pdf 1.txt
pdftotext certificate_covid.pdf 2.txt
sed -n '46p' 2.txt
>17.04.2021
sed -i '46s/04/08/' 2.txt
diff 1.txt 2.txt
46c46 < 17.04.2021
17.08.2021
В Abbyy FineReader же сравнение документов уже лет 5 как, в том числе скана с цифровой версией.
Распознать оба PDF в нечто Rtf-подобное, а потом сравнить любым инструментом сравнения RTF (т. е. сравнивающим не только текст, но и форматирование, таблицы итд) или хотя бы Word'ом (инструмент сравнения есть на вкладке Рецензирование) .
У ABBYY есть приложение PDF Comparator (платное), которое поступает описанным выше способом.
Юристы и бухгалтерия у нас пользуют ABBYY Comparator, вполне устраивает. Ценник на лицензию терпимый. Единственная на моей памяти проблема была с подписанным pdf файлом, что то там не получалось у него открыть. В остальном - весьма удобен для сравнения документов, работает через распознавание текста, поэтому удобно с одной стороны скормить ему скан, с другой - оригинал в Word.
Тоже первым делом на ум пришло Abby comparator. Когда заключали договора по переписке, всегда сравнивали утверждённые сканированные pdf с оригиналами и word исходниками. Сначала картинки распознаются, затем тексты сравниваются показывая где и какой абзац добавили/вычеркнули. И инструмент очень качественный и проработанный. Странно что автор не знаком и что представители Abby ещё не здесь
А у него есть cli-интерфейс?
*На правах бреда*
Можно попробовать подключить компьютерное зрение, выравнивать картинки и искать различия. А потом на основе этих различий искать разницу в тексте документа?
Как сравнить два PDF-документа