Интегрированная подпись PDF не просто добавляется как есть к существующему PDF, но это значение поля формы подписи (вместе с некоторой метаинформацией).И совместимая такая подпись должна подписывать все, кроме места, зарезервированного для нее в значении поля подписи.
Поэтому всякий раз, когда вы пытаетесь подписать существующий pdf, его обычно нужно подготовить: если в pdf еще нет структуры формы, ее необходимо добавить.Если еще нет пустого поля формы подписи, такое поле формы необходимо добавить.И значение подписи должно быть подготовлено, в частности, со временем подписания.
Всякий раз, когда вы создаете или обновляете файл PDF, создается идентификатор, определяется время создания или изменения, и эти данные добавляются в созданный / обновленный файл PDF.
Таким образом, ваш код при каждом запуске манипулирует исходным PDF-файлом, поэтому полученные PDF-файлы имеют разные идентификаторы, время модификации и время подписания.И поскольку подпись подписывает все, кроме ее заполнителя, она также подписывает эти переменные данные.
Следовательно, хэш различается при каждом запуске.
Для получения более подробной информации прочитайте этот ответ и статьи, на которые есть ссылки.