Le document PDF signé par programme ne reçoit pas la coche verte après avoir été signé à l'aide d'Acrobat Reader

Nov 24 2020

J'ai rédigé une demande de signature de documents PDF et je peux maintenant signer n'importe quel document PDF non signé, et Adobe Reader affiche la coche verte. De plus, je peux signer un fichier avec plusieurs signatures et les résultats sont bons.

Mais si j'essaie de signer le document à l'aide d'Adobe Reader, lorsque je le signe à nouveau, le résultat est que toute signature antérieure à la dernière ne reçoit pas la coche verte car Acrobat pense que le document a changé. Ensuite, si je signe à nouveau le document à l'aide d'Adobe Reader et de mon application, les signatures suivantes reçoivent à nouveau les marques vertes. Le problème apparaît avec la première signature Adobe , mais je ne peux pas en comprendre la raison.

Flux de travail:

  1. Signature 1 avec Acrobat => ok
  2. Signature 2 avec mon application => les signatures précédentes ne sont pas valides, mais c'est ok
  3. Signature 3 avec Acrobat => la signature 1 est invalide, mais 2 et 3 sont ok
  4. Signature 4 avec mon application => la signature 1 est invalide, mais 2, 3 et 4 sont ok

Pourriez-vous s'il vous plaît m'aider à identifier et à corriger le problème?

Merci d'avance.

Les fichiers:

  • le fichier original
  • le fichier signé par moi (il reçoit la coche verte)
  • le fichier signé par acrobat (c'est correct).
  • le fichier signé par acrobat à nouveau (c'est correct)
  • le fichier signé par acrobat an me (ne parvient pas à obtenir la coche verte pour la partie signée de l'adobe)

Réponses

2 mkl Nov 24 2020 at 23:30

Vous modifiez l' entrée d'apparence par défaut du dictionnaire AcroForm DA .

Dans le document signé par Adobe, le dictionnaire AcroForm ressemble à ceci:

<</DA(/Helv 0 Tf 0 g )/DR<</Encoding<</PDFDocEncoding 8 0 R>>/Font<</Helv 6 0 R/MyriadPro-Regular 27 0 R/ZaDb 7 0 R>>>>/Fields[26 0 R]/SigFlags 3>>

Après avoir signé ce document, il devient ceci:

<</DA(/Helv 0 Tf 0 g)/DR<</Encoding<</PDFDocEncoding 8 0 R>>/Font<</Helv 6 0 R/MyriadPro-Regular 27 0 R/ZaDb 7 0 R>>>>/Fields[26 0 R 35 0 R]/SigFlags 3>>

C'est-à-dire que vous avez supprimé le caractère d'espace de fin dans l' entrée DA .