Два файли PDF, однакові за винятком можливо різних титульних сторінок - як видалити дублікати?


1

У мене є маса файлів у форматі PDF - це статті, завантажені з різних веб-сайтів журналу. Проблема полягає в тому, що деякі з цих файлів PDF - це дублікати один одного. Однак якщо я запускаю основний пошук дублікатів файлів, вони не з’являться, оскільки журнали мають (дещо дратівливу) звичку розміщувати титульну сторінку в PDF перед фактичною статтею. Іншими словами, якщо у мене є дві копії статті "X" автора Y, одна завантажена з сайту A, а інша веб-сайт B, вони не є точними дублікатами, оскільки одна має титульну сторінку від A, а друга має (різну) обкладинку сторінка від B. Отже, моє запитання:

Чи можна перевірити, чи є два дублікати файлів PDF, ігноруючи першу сторінку ?

Звичайно, це не вирішує всіх моїх проблем, оскільки деякі веб-сайти журналів не містять титульної сторінки! Тож найкращим можливим питанням було б:

Чи можна перевірити, чи є два файли PDF - копіями, де один (або обидва) можуть мати титульну сторінку ?

Відповіді:


1

Відповідно до специфікації PDF, вам можуть допомогти деякі речі.

Насамперед є ідентифікатор, унікальний ідентифікатор, який неможливо змінити після початкового створення.

Із специфікації PDF, зв'язаної вище, Розділ 14.4:

Ідентифікатори файлів визначаються необов'язковим записом ідентифікатора у словнику трейлера PDF-файлу (див. 7.5.5, "Файловий трейлер"). Введення ідентифікатора необов’язкове, але його слід використовувати. Значенням th entry є масив з двох байтових рядків. Перший рядок байтів повинен бути постійним ідентифікатором, що базується на вмісті файлу в момент його первинного створення, і не повинен змінюватися, коли файл поступово оновлюється

По-друге, ви можете подивитися на 7.5.6 Малюнок 3. Відповідно до цієї Фігури ви повинні мати оригінальне Тіло.

Для першого варіанту є функція poppler для вилучення ідентифікаторів (вас цікавить постійний) http://people.freedesktop.org/~aacid/docs/qt5/classPoppler_1_1Document.html#a2561d28a219676acff2036e5a3bacc83 , однак я зараз не як ви могли викреслити оригінальне тіло для порівняння хешей.


1

DiffPDF може візуально порівнювати PDF-файли (я сам цього не пробував), також доступний як портативний додаток .

Навіть якщо ви видалили титульну сторінку з усіх статей із чимось на зразок PDFTK , я дуже сумніваюся, що PDF-файли будуть однаковими у двійковому порівнянні.

Може бути, іншим способом було б перейменувати кожен файл на щось унікальне у статтях, можливо, номер статті чи дату, що включає час? Тоді ви можете зробити порівняння імен файлів.


Я повинен , ймовірно, уточнити небагато: крім титульного, ПРВ є ідентичним. Тобто перед вставкою титульної сторінки вони є тим самим бінарним файлом.
Стів D

Незважаючи на це, зберігаючи їх після видалення титульної сторінки, я сумніваюся, що вони будуть однаковими. Ви можете перейти, але якщо формат PDF збереже щось подібне до дати у файлі після видалення сторінки, то воно буде інакше.
Гідарал

-1

Єдине програмне забезпечення, яке мені здається корисним у цій проблемі, - Devonthink (я припускаю, що ви використовуєте Mac). Але потрібно видалити першу сторінку з одного варіанту. Ви можете легко відфільтрувати їх із титульної сторінки, вставивши в пошук Finder унікальну фразу. Позначте їх або згрупуйте їх та запустіть сценарій, щоб видалити першу сторінку. Коли індексувати їх усі, Devonthink вибере дублікати. Інші шукачі дублікатів, такі як Близнюки, Дупе Гуру (до речі, кращі за Близнюків) та інші, покладаються на деякі прості критерії порівняння. Вони не порівнюють вміст. Devonthink дійсно порівнює вміст. І, на 100% точно, наскільки я можу сказати.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.