我有一个包含许多文本字段的PDF表单.在这些字段中输入的值用于计算其他字段中的值(计算字段是只读的).
当我在Adobe Reader中打开表单并填写字段时,计算字段会自动重新计算.
但是,我使用iTextSharp填充字段,展平生成的表单,然后通过Web将展平的表单流回用户.
该部分工作正常,但计算字段永远不会计算.我假设因为没有用户触发事件(如keydowns或焦点或模糊)正在触发,所以不会发生计算.
显然,我可以从可填写的表单中删除计算,并在填充字段时在服务器上完成所有计算,但我希望可填写的表单可供人类和服务器使用.
有谁知道如何强制计算?
编辑:
我感觉不太喜欢iText / iTextSharp在这里爱…
这里有一些细节.将stamper.AcroFields.GenerateAppearances设置为true无济于事.
我认为答案在于页面操作中的某个地方,但我不知道如何触发它…
解决方法
Paulo Soares(iText的主要开发者之一和iTextSharp的当前维护者)
says:
iText doesn’t do any effort to fix calculated fields because most of the times that’s impossible. PdfCopyFields has some support for it that sometimes works and sometimes don’t.