情况是这样的。我有一个 PDF,其中包含自动生成的 pdf 表单字段名称。问题是这些名称不太用户友好。它们看起来像:
topmostSubform[0].Page1[0].Website_Address[0]
我希望能够更改它们,使它们类似于 WebsiteAddress。我可以访问 ABCPDF 并且有使用 iTextSharp 的经验,但我尝试使用这些 API 来执行此操作(访问表单字段并尝试重命名),但似乎不可能。
有没有人有尝试通过某种 API(最好是开源的)来做到这一点的经验。代码也是.Net。
好消息:您可以在 iTextSharp 中更改字段名称。
但您实际上无法编辑 PDF。您将读取现有的 PDF,更新内存中的字段名称,然后写出修改后的 PDF。要更改字段名称,请调用 AcroFields.RenameField 方法。
这是一个片段:
PdfReader reader = new PdfReader(PDF_PATH);
using (FileStream fs = new FileStream("Test Out.pdf", FileMode.Create)) {
PdfStamper stamper = new PdfStamper(reader, fs);
AcroFields fields = stamper.AcroFields;
fields.RenameField("oldFieldName", "newFieldName");
stamper.Close();
}
现在是坏消息:您可以在重命名的字段中使用的字符似乎受到限制。
我用您的示例字段名称测试了上面的代码片段,但它不起作用。不过去掉句号,它确实有效。我不确定是否有解决方法,但这对您来说可能是个问题,
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)