我有一个包含许多文本字段的PDF表单.在这些字段中输入的值用于计算其他字段中的值(计算字段是只读的).
当我在Adobe Reader中打开表单并填写字段时,计算字段会自动重新计算.
但是,我使用iTextSharp填充字段,展平生成的表单,然后通过Web将展平的表单流回用户.
该部分工作正常,但计算字段永远不会计算.我假设因为没有用户触发事件(如keydowns或焦点或模糊)正在触发,所以不会发生计算.
显然,我可以从可填写的表单中删除计算,并在填充字段时在服务器上完成所有计算,但我希望可填写的表单可供人类和服务器使用.
有谁知道如何强制计算?
编辑:我感觉不是太多iText/iTextSharp在这里爱...
这里有一些细节.将stamper.AcroFields.GenerateAppearances设置为true无济于事.
我认为答案在于页面操作中的某个地方,但我不知道如何触发它...
Paulo Soares(iText的主要开发者之一和iTextSharp的当前维护者)说:
iText不会做任何修复计算字段的工作,因为大部分时间是不可能的.PdfCopyFields有一些支持,有时可以工作,有时不工作.