Как добавить поле подписи в существующий документ PDF / A, сохраняя соответствие PDF / A-3A - PullRequest
0 голосов
/ 05 июля 2018

Я использую следующий метод для добавления поля подписи в документ PDF / A (который имеет уровень соответствия PDF / A-3A) на новой странице. Кажется, все работает ...

public void AddCertifiedSignature(string srcPath, string destPath)
{
    var reader = new PdfReader(srcPath);
    var writer = new PdfWriter(destPath);
    var pdfDoc = new PdfADocument(reader, writer);

    PdfAcroForm form = PdfAcroForm.GetAcroForm(pdfDoc, true);
    var ps = new PageSize(PageSize.A4);
    var newPage = pdfDoc.AddNewPage(ps);

    var signatureRectangle = new Rectangle(36, 648, 200, 100);
    var signatureAnnotation = new PdfWidgetAnnotation(signatureRectangle);
    var signatureField = PdfFormField.CreateSignature(pdfDoc, signatureRectangle, PdfAConformanceLevel.PDF_A_3A);
    signatureField.SetFieldName("SignField1");
    form.AddField(signatureField, newPage);

    pdfDoc.Close();
}

Однако в последней строке я получаю исключение:

Additional information: Every annotation shall have at least one appearance dictionary

Кто-нибудь знает, как добавить запрошенный словарь (или лучшую реализацию)? В настоящее время я использую iText 7.1.2.0 (.NET).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...