如何用iText让PDF表单数字字段保留两位小数格式?
问题:iText填充数字格式PDF表单字段无法显示指定格式?
我有一个在Adobe Acrobat中设置为数字格式的PDF表单,尝试用以下iText代码填充字段:
form.GetField("field_name").SetValue("123"); // 结果PDF中显示123 form.GetField("field_name").SetValue("123", "123.00"); // 使用display参数后,PDF中还是显示123而非"123.00"
看起来所有值都被当作字符串处理,请问用iText填充表单字段值时,能否将值视为数字?
手动在Acrobat Reader中填写表单时,输入"123"切换焦点后会自动显示为"123.00"。
解决方案(编辑补充)
后来放弃直接设置数字的尝试,改用以下方法处理,既能正常显示指定格式,还能设置正确的字体和大小:
void SetFormField(PdfAcroForm form, string key, string value, string? display = null) { var font = PdfFontFactory.CreateFont(StandardFonts.TIMES_ROMAN); if (display == null) { form.GetField(key).SetValue(value, font, 11f); } else { form.GetField(key).SetFontAndSize(font, 11f).SetValue(value, display); } }
此时才意识到,PDF确实比普通文本文档复杂得多!
内容的提问来源于stack exchange,提问作者Sam
相关产品推荐
相关产品推荐

