Как подписать поле подписи XFA PDF? - PullRequest
0 голосов
/ 07 мая 2019

У меня есть XFA-PDF, созданный с помощью Adobe Live Cycle. В PDF есть 2 поля подписи. Каждое поле должно быть подписано через код службой Windows в разное время. Есть ли способ сделать это с помощью iTextSharp или другого API? Спасибо, что нашли время, чтобы прочитать и помочь.

Я следовал примеру кода и смог подписать весь файл PDF с помощью iTextSharp, однако это не подписывает ни одно из реальных полей. Если есть возможность использовать iTextSharp, кто-нибудь может мне помочь, показывая, как указать, какое поле подписать?

Это код, который я использую для подписи файла:

PdfReader reader = new PdfReader(src);
FileOutputStream os = new  FileOutputStream(dest);
PdfStamper stamper = PdfStamper.createXmlSignature(reader, os);
XmlSignatureAppearance appearance = stamper.getXmlSignatureAppearance();
appearance.setXmlLocator(new XfaXmlLocator(stamper));
appearance.setXpathConstructor(new XfaXpathConstructor(XfaXpathConstructor.XdpPackage.Datasets));
ExternalSignature signature = new PrivateKeySignature(pk, digestAlgorithm, "BC");
MakeXmlSignature.signXmlDSig(appearance, signature, chain);

Но я хочу подписать поля подписи XFA

...