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

0 ответов

Другие вопросы по тегам