如何使用iTextSharp&存在重复的字段名称时重命名PDF字段C#

时间:2017-07-05 21:46:29

标签: c# itext acrofields

目标:我的目的是帮助组织外部的用户上传PDF文档中包含多个可填写字段的多页PDF,其中某些字段在不知不觉中标记为相同名称。如果用户是内部用户,我们可以要求他们使用唯一的名称标记PDF,但在这种情况下我们没有那么奢侈。我们需要使用iTextSharp查找并修复问题,而不会打扰用户和/或部分检测其标记字段。

当前状态:使用iTextSharp时今天发生的事情是只检测到明确命名的字段。与其他人使用相同名称的字段被忽略"所有意图和目的。

示例:我有一个包含三个标记字段的PDF,其名称如下:一,一,三。当我通过iTextSharp运行PDF时,它只获取两个AcroFields(一个和三个)。第二个字段名为" One"不在AcroFields集合中。有趣的是,AcroForm.Fields集合中的所有三个字段都是ARE,但是有关每个字段的MetaData信息有限。我可以在AcroForm.Fields项目中访问的信息是" / DA,/ DR,/ FT和/ T"。这些都没有我想要的(下面)。

问题:我有代码向AcroFields集合中添加一个新字段,但它正在运行,但我缺少有关第二个" One"字段,需要提取关键信息,如高度,宽度,页码,x,y字段的位置。我的计划是将缺少的AcroFields动态添加回文档,以便文本框正确定位,并且在用户稍后看到它时是合适的大小。最终结果是用户看不到视觉差异,没有通知问题,并且我正在通过实施完全纠正。

想法或建议?

当然,如果我错过了这个问题的任何内容,或者方法有误,请告知。

0 个答案:

没有答案