Поле заполнения PDFBox — текст сжат/сжатJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Поле заполнения PDFBox — текст сжат/сжат

Сообщение Anonymous »

Я заполняю поля в PDF-файле с помощью com.openhtmltopdf и org.apache.pdfbox.

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

[INFO] +- com.openhtmltopdf:openhtmltopdf-core:jar:1.0.10:compile
[INFO] +- com.openhtmltopdf:openhtmltopdf-pdfbox:jar:1.0.10:compile
[INFO] |  +- org.apache.pdfbox:pdfbox:jar:2.0.24:compile
[INFO] |  |  +- org.apache.pdfbox:fontbox:jar:2.0.24:compile
[INFO] |  +- org.apache.pdfbox:xmpbox:jar:2.0.24:compile
Это мой код:

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

private void populateFieldsWithData(Map data, PDAcroForm acroForm, List
 fields) throws IOException {
data.forEach((key, value) -> {
PDField field = acroForm.getField(key);
acroForm.getFieldTree().iterator().forEachRemaining(pdField -> {
if (pdField.getFullyQualifiedName().equals(key)) {
try {
field.setValue(value);
field.setReadOnly(true);
fields.add(pdField);
} catch (IOException e) {
throw new RuntimeException(e);
}
}
});
});
acroForm.flatten();
}
Проблема в том, что текст в сгенерированном PDF-файле сжимается/сжимается.
Я пробовал удалить acroForm.flatten(); . Если я это сделаю и нажму на текст в сгенерированном PDF-файле, текст будет скорректирован и будет выглядеть нормально. Но когда я нажимаю в другом месте сгенерированного PDF-файла, текст снова сжимается/сжимается.
Я пробовал добавить их перед acroForm.flatten();. Оба и по отдельности, но это не помогает.

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

acroForm.setNeedAppearances(true);
acroForm.refreshAppearances();
Вот как выглядит сгенерированное поле:
[img]https://i.sstatic.net /kEDjV2ub.png[/img]

Вот как будет выглядеть поле, если я введу тот же текст вручную в Acrobat Reader:
Изображение


Подробнее здесь: https://stackoverflow.com/questions/785 ... compressed
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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