java - 输入字符串的 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
解决方案
推荐阅读
- list - 在 groovy 中生成二维列表的元素组合
- python - 如何在python中左对齐数据框列?
- unity3d - Unity3D:Input.GetKeyDown(KeyCode.Escape) 不适用于移动设备和 PC
- python - 在修复 django2.0 中的 SuspiciousFileOperation 错误时需要帮助
- mongodb - 在 mongodb 集合中定义枚举或常量
- javascript - jquery 掩码仅在加载 ajax 内容后工作一次
- variables - sql语句中的变量使查询挂起
- javascript - Supertest / Jest / Node - 无法测试简单的路线
- regex - 如何在我的 Angular 6 正则表达式中忽略大小写?
- node.js - 将多个集合传递到同一条快速路线