基本上,我所拥有的是带有复制/粘贴(其中超过700个:/)创建的表单域的PDF。问题是,Acrobat让所有具有相同名称的字段具有相同的值。这是一个问题,我希望每个领域都有独特的价值。 (除了手动重命名所有700个字段外,Acrobat软件不提供任何解决方案)使用iTextSharp读取和重命名具有相同名称的多个字段
我搜索了一下,发现了一个C#库iTextSharp。我需要一些帮助使用它,谷歌的搜索没有回复太多的答案...
此代码只返回一个字段,这是我复制/粘贴字段...不是个别字段。
PdfReader reader = new PdfReader("p31.pdf");
using (FileStream fs = new FileStream("Test Out.pdf", FileMode.Create)) {
PdfStamper stamper = new PdfStamper(reader, fs);
AcroFields fields = stamper.AcroFields;
foreach(KeyValuePair<string, AcroFields.Item> kpv in fields.Fields)
{
System.Console.WriteLine(kpv.Key);
}
stamper.Close();
}
如何获得每个字段然后重命名它们?谢谢
如果他们有相同的名称,他们**是**相同的领域,只是它的不同可视化。这就是Adobe和itext处理它的原因。这就是说,尽管AcroFields只允许你将它们全部作为单个字段来处理,但更多的低级方法允许你通过直接的PDF对象操作来改变名称。 – mkl
是的,迈克尔+1。这只能通过在最底层的操作来实现。这只能由PDF的人很好,所以请不要问“你能给我代码示例吗?”你必须聘请某人来做这件事,或者开始阅读ISO-32000-1。 –