NumberFormatException для входной строки: "9.014", при попытке установить значение formField
Я работаю с iText-7
и пытается прочитать pdfForm
(генерируется в LibreOffice
) и установите значение для одного текстового поля (форма имеет только одно текстовое поле). Но я получаю ниже исключения
Exception in thread "main" java.lang.NumberFormatException: For input string: "9.014"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Integer.parseInt(Integer.java:580)
at java.lang.Integer.<init>(Integer.java:867)
at com.itextpdf.forms.fields.PdfFormField.splitDAelements(PdfFormField.java:2114)
at com.itextpdf.forms.fields.PdfFormField.getFontAndSize(PdfFormField.java:2058)
at com.itextpdf.forms.fields.PdfFormField.regenerateField(PdfFormField.java:1639)
at com.itextpdf.forms.fields.PdfFormField.setValue(PdfFormField.java:939)
at com.itextpdf.forms.fields.PdfFormField.setValue(PdfFormField.java:900)
при выполнении
form.getField(key).setValue("1234567890");
Вот код для выполнения вышеуказанной задачи:
PdfReader reader = new PdfReader(src);
PdfDocument pdf = new PdfDocument(reader, new PdfWriter(dest));
PdfAcroForm form = PdfAcroForm.getAcroForm(pdf, true);
Map<String, PdfFormField> tf = form.getFormFields();
for (String key : tf.keySet()) {
System.out.println("Key: |" + key + "| \t value: " +
tf.get(key).getValueAsString());
form.getField(key).setValue("1234567890");
}
pdf.close();
Я могу прочитать значение поля, но не могу написать обратно.
ссылка на PDF