Как извлечь видимую текстовую подпись из PDF? - PullRequest
0 голосов
/ 11 октября 2018

Я пытаюсь получить информацию о подписи из файла PDF, я смог получить все подписанные имена полей, используя библиотеку itext:

PdfReader reader = new PdfReader(inputStream, null);
AcroFields af = reader.getAcroFields();
ArrayList<String> names = af.getSignatureNames();

Но мне действительно нужен точный визуальный текст, показанный наPDF документ, например, для этого документа я хочу получить текст: Rev.1: Подписано My Test Company

Signed PDF document

1 Ответ

0 голосов
/ 30 октября 2018

Часть текста взята из Adobe Reader.Однако в целом это возможно.В Java-версии код будет выглядеть так:

PdfReader reader = new PdfReader(inputStream, null);
AcroFields af = reader.getAcroFields();
ArrayList<String> names = af.getSignatureNames();

for (String signatureName : names) {
    int revision = reader.getAcroFields().getRevision(signatureName);

    AcroFields.Item item = acroFields.getFieldItem(signatureName);
    PdfDictionary d = item.getMerged(0);
    PdfDictionary v = d.getAsDict(PdfName.V);

    if (v != null) {
        PdfString name = v.getAsString(PdfName.NAME);
        System.out.println("Rev."+revision+": Signed by "+ name.toString());
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...