Как добавить несколько видимых сигнатурных марок в документ с использованием PDFBox при сохранении 1 действительной цифрJAVA

Программисты JAVA общаются здесь
Anonymous
Как добавить несколько видимых сигнатурных марок в документ с использованием PDFBox при сохранении 1 действительной цифр

Сообщение Anonymous »

Я пытаюсь реализовать решение с использованием PDFBox (версия 2.0.24), которое позволяет добавлять несколько визуальных сигнатурных марок при сохранении действительной цифровой подписи. Это основано на требовании того, что пользователи должны видеть подписи на страницах после подписания, были выполнены один раз. Этот прикрепленный подписанный PDF является ожидаемом выходом, выполняемым Skribble.), которая появляется отдельно на панели подписи Adobe Reader.
Я попробовал подход ниже, который позволяет создать только одно подпись и его виджет и предусмотрено для AddSignature . Этот подход, основанный на ранее упомянутом решении, но, похоже, библиотека не ведет себя правильно. Все визуальные марки подписи в конечном итоге разделяют одно и то же место, хотя для разных страниц указаны разные позиции. Кроме того, при размещении нескольких видимых подписей на одной и той же странице видно только последний.

Код: Выделить всё

PDSignature pdSignature = new PDSignature();
...
this.pdDocument.addSignature(pdSignature);
removeSignatureField(acroForm, pdSignature);

PDSignatureField signatureField = new PDSignatureField(acroForm);
signatureField.setValue(pdSignature);
PDAnnotationWidget widget = signatureField.getWidgets().get(0);
for (SignatureDefinition signatureDefinition : this.signatureDefinitions) {
...
addSignatureField(signatureField, widget, this.pdDocument, pdPage, rect, pdSignature);
}
Регулировка на Addsignature Метод

Код: Выделить всё

void addSignatureField(PDSignatureField signatureField, PDAnnotationWidget widget, PDDocument pdDocument, PDPage pdPage, PDRectangle rectangle, PDSignature signature) throws IOException {
PDAcroForm acroForm = pdDocument.getDocumentCatalog().getAcroForm();
List acroFormFields = acroForm.getFields();

// PDSignatureField signatureField = new PDSignatureField(acroForm);
// signatureField.setValue(signature);
PDAnnotationWidget widget = signatureField.getWidgets().get(0);
acroFormFields.add(signatureField);

widget.setRectangle(rectangle);
widget.setPage(pdPage);
...
Есть ли подходящий способ достичь ожидаемого вывода с помощью pdfbox?


Подробнее здесь: https://stackoverflow.com/questions/795 ... x-while-ma

Вернуться в «JAVA»