Как я могу сравнить содержимое файлов .pdf, исключая имена файлов из сравнения?

3607
cdvonstinkpot

Я обычно использую WinMerge для просмотра различий между файлами, но в этом случае это не помогает. Известно, что файлы, которые я сравниваю, имеют разные имена файлов, что создает ложные срабатывания, когда 2 файла с одним и тем же документом имеют разные имена файлов.

У меня есть папка с множеством каталогов, представляющих всех поставщиков, с которыми работает моя компания, и они включают в себя множество PDF-файлов чеков и счетов. Это основной список поставщиков. Счета и квитанции названы так, что имена не имеют смысла без структуры окружающего каталога для обеспечения контекста. Например, здесь у нас есть «Продавцы / Компания Foo / Product Bar / Invoice # 3.pdf»

Затем у меня есть еще одна папка со многими квитанциями и счетами в ней, которая раньше поддерживалась отдельно от основного списка поставщиков и должна была включать вручную созданную копию каждой квитанции и счета, которая была введена в соответствующую запись в основном поставщике. структура каталогов. Эти квитанции и счета должны были быть переименованы, чтобы бухгалтеру было легче читать и знать, на что они ссылаются. Например здесь у нас есть "Налоги / CompanyFoo ProductBar.pdf".

Я искал файлы типа .pdf в папке верхнего уровня основного списка поставщиков, поэтому мои результаты поиска включают квитанции и счета-фактуры от всех поставщиков в структуре каталогов. Затем я скопировал эти файлы .pdf в другую папку на рабочем столе, чтобы сравнить их. Я сравнил эти файлы с файлами в папке «налогов» с помощью WinMerge, чтобы выяснить, не существует ли какой-либо из файлов в папке «налогов» в каталогах «основного поставщика», и наоборот.

Но WinMerge считает файлы разными, потому что их имена не совпадают. Мне нужно знать, если содержимое файла отличается, несмотря на то, что имя файла.

Существуют сотни этих файлов, и если они находятся в папке «налогов», которые не находятся в соответствующем каталоге «основного поставщика», мне нужно исправить это и правильно их подать.

Может кто-нибудь порекомендовать инструмент, который может это сделать?

2
Почему бы вам не использовать md5sum рекурсивно? Два PDF-файла с одинаковой контрольной суммой и одинаковым размером имеют крайне низкую вероятность отличия. Benoit 12 лет назад 1
возможный дубликат [Какие дубликаты файлов и папок существуют для Windows?] (http://superuser.com/questions/8223/which-duplicate-files-and-folders-finders-exist-for-windows) Daniel Beck 12 лет назад 0
Я нашел что-то в этой теме, что делает то, что мне нужно, фактически ответом на эту тему является то, что было. Спасибо Даниэль Бек! Я не знаю, как сделать это ответ на этот вопрос, однако. cdvonstinkpot 12 лет назад 0

5 ответов на вопрос

2
hamed

Я думаю, что i-net PDF контент сравнения будет полезным.

В настоящее время версия 2.0 предлагает графический интерфейс и гибкие варианты цен. По-прежнему существует бесплатная 30-дневная пробная версия, где вы можете проверить все аспекты программного обеспечения.

Comparison Result

Выглядел выполнимым, пока не увидел цену: 1295 долларов США. И условия бесплатной пробной версии делают его непригодным для использования, так как я не разработчик. cdvonstinkpot 12 лет назад 1
1
Eroen

Если у вас есть какая-то среда Unix (если вы работаете в Windows, я предлагаю Cygwin ), вы можете легко найти дубликаты файлов в текущем каталоге с чем-то вроде этого:

find . -type f -exec md5sum '{}' '+' | sort | uniq -D -w 32 

Выходными данными будут md5sum и имя каждого файла, в котором есть хотя бы один дубликат (та же самая md5sum). Дубликаты отображаются сразу после друг друга в алфавитном порядке. Замените .after findна путь, по которому вы хотите посмотреть, если это не текущий каталог.

Редактировать:

И наоборот, чтобы получить файлы, которые не имеют дубликатов, вы можете использовать

find . -type f -exec md5sum '{}' '+' | sort | uniq -u -w 32 

Это будет печатать только файлы без дубликатов ниже текущего каталога.

0
Lazy Badger
  1. Вы можете (должны, на самом деле) использовать xdocdiff плагин для WinMerge, если сравнить содержание глазами
  2. CompareIt! может отображать (так себе) и визуализировать в окнах сравнения pdf-файлы без дополнительных плагинов
  3. DiffPDF еще лучше сравнивает и показывает сравниваемые файлы (см. Скриншот на странице), кроссплатформенность

В качестве альтернативного решения вы можете подумать о хранении текстовых копий каждого PDF-файла под одним и тем же именем (преобразовано из with, fe, pandoc) и сравнивать текстовые версии только любым инструментом.

0
Micah Armantrout

Просто сделал это то, что я использовал, это работало, и это было просто!

http://www.qtrac.eu/diffpdf.html

0
rick

Попробуйте приложение «PDF Compare», которое сравнивает метаданные документа PDF и изображения страниц на уровне пикселей:

https://www.microsoft.com/en-us/store/p/pdfcompare/9n9dmzjbz2nl#