Настройте PDFStamper с помощью iTextSharp
Я использую iTextSharp для подписи PDF-файлов. При подписании он ставит отметку в документе с 4 полями: кто подписал, когда, причина и место. Что я хотел сделать, это добавить поле ниже (или выше, что не имеет значения) с пользовательской информацией.
Любая идея?
Вот мой код, который генерирует штамп:
PdfStamper stp = PdfStamper.CreateSignature(reader, memoryOut, '\0');
PdfSignatureAppearance sap = stp.SignatureAppearance;
iTextSharp.text.Rectangle rectangle = new iTextSharp.text.Rectangle(100, 100, 500, 200);
sap.SetVisibleSignature(rectangle, stp.Reader.NumberOfPages, null);
sap.SignDate = DateTime.Now;
sap.SetCrypto(null, chain, null, null);
sap.Reason = ssReason;
sap.Contact = ssContact;
sap.Location = ssLocation;
sap.Acro6Layers = true;
//sap.SignatureGraphic = iTextSharp.text.Image.GetInstance(ssImageUrl);
//sap.SignatureGraphic.ScaleToFit(131, 45);
sap.Render = PdfSignatureAppearance.SignatureRender.Description;
1 ответ
Решение
Несколько вариантов:
изменить один из
PdfTemplate
с изsap.getLayer(int)
,вызов
sap.setLayer2Text()
включить вашу дополнительную информацию.Используйте графику. Вы можете обернуть
PdfTemplate
вImage
, так что вы можете нарисовать все, что вы хотите. затемsap.Render = PdfSignatureAppearance.SignatureRender.GraphicAndDescription
Взломать источник.