c# – 当使用iTextSharp填充其他字段时,如何在PDF中强制格式化和计算?

我有一个包含许多文本字段的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.

相关文章

在要实现单例模式的类当中添加如下代码:实例化的时候:frmC...
1、如果制作圆角窗体,窗体先继承DOTNETBAR的:public parti...
根据网上资料,自己很粗略的实现了一个winform搜索提示,但是...
近期在做DSOFramer这个控件,打算自己弄一个自定义控件来封装...
今天玩了一把WMI,查询了一下电脑的硬件信息,感觉很多代码都...
最近在研究WinWordControl这个控件,因为上级要求在系统里,...