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

前端之家收集整理的这篇文章主要介绍了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.

猜你在找的C#相关文章