2012-06-27 1 views
0

Я создал два PDF-файла, используя это example (FirstPDF), удалив предложение «новая дата».Создайте два одинаковых PDF-файла с Java или iText

Они выглядят одинаково, но при вычислении хэша md5 на них они действительно разные.

Я изучил их и зарегистрировал creationDate, даже если предложение document.addCreationDate() не включено в исходный код.

Вопрос очень прост: возможно ли каким-либо образом с любым API создавать два PDF-файла, которые в точности равны байт-байту?

+3

Зачем вам нужно создавать два равных файла? Сгенерируйте один, установите файловую систему и просто скопируйте файл. –

ответ

5

Вот как это ДОЛЖНО быть. Помимо даты в метаданных, есть также уникальный идентификатор, который добавляется каждый раз, когда PDF создается из царапины.

from

+0

Спасибо за информацию. – paco

1

Если вам нужны два одинаковых файлов дает вам тот же хэш MD5, почему не скопировать тот, который был создан уже?

Если вам нужно создать два одинаковых файлов с помощью двух отдельных вызовов API, то вы можете использовать любой PDF создающей API, что стоит это деньги:

  • Поскольку каждый из этих API, есть содержат вызов задайте дату создания и дату изменения выходного PDF-файла для любого значения, которое вам нужно ... Просто не допускайте, чтобы этот параметр произошел автоматически! Используйте одну и ту же настройку два раза.
  • Внимание! PDF также поддерживает настройку документа UUID. Некоторые из этих API также устанавливают произвольный UUID для каждого нового документа (который разбивает ваш хэш MD5), если вы не будете активно предотвращать это.
1

here Как описано, файлы не равно, потому что они имеют различные идентификаторы (имеющие две файлы, созданные на другой момент, должен иметь другой идентификатор, как определено в спецификации PDF).

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

По дизайну вы никогда не сможете создавать два идентичных файла PDF с использованием того же кода.

Смежные вопросы