1

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

当前状态:今天使用 iTextSharp 时发生的情况是,仅检测到明确命名的字段。出于所有意图和目的,使用与其他字段相同名称的字段将被“忽略”。

示例:我有一个包含三个标记字段的 PDF,命名如下:一、一、三。当我通过 iTextSharp 运行 PDF 时,它只拾取两个 AcroField(一个和三个)。名为“One”的第二个字段不在 AcroFields 集合中。有趣的是,所有三个字段都在 AcroForm.Fields 集合中,但每个字段的元数据信息有限。我可以在 AcroForm.Fields 项中访问的信息是“/DA、/DR、/FT 和 /T”。这些都没有我正在寻找的东西(下)。

问题:我有向 AcroFields 集合添加新字段的代码,它正在工作,但我缺少有关第二个“One”字段的信息,需要提取关键信息,例如高度、宽度、页码、x、y 坐标那个领域在哪里。我的计划是将丢失的 AcroFields 动态添加回文档中,以便文本框的位置正确,并且在用户稍后看到它时具有适当的大小。最终结果将是用户看不到任何视觉差异,没有收到问题通知,并且通过我正在处理的实现完全纠正。

想法或建议?

当然,如果我错过了这个问题的任何内容,或者方法错误,请提出建议。

4

0 回答 0