【发布时间】:2016-09-27 10:21:21
【问题描述】:
我正在尝试使用 iText 库以新名称重命名现有字段。 但下面的代码没有帮助。
public static void testRenameFields() throws Exception{
String SRC = "C:\\Citi\\esign\\pdfs\\SS_Application_fields.pdf";
String DEST = "C:\\Citi\\esign\\pdfs\\abc.pdf";
PdfReader reader = new PdfReader(SRC);
PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(DEST));
AcroFields form = stamper.getAcroFields();
System.out.println("FieldType : "+form.getFieldType("signers[0].firstName"));
form.renameField("signers[0].firstName", "Firstname");
System.out.println("FieldType : "+form.getFieldType("Firstname"));
stamper.close();
reader.close();
}
这个 sn-p 的输出是
FieldType : 4
FieldType : 0
即使我已重命名该字段,它也会为我提供现有字段的输出。并且新名称未附加到该字段。
注意:FieldType 0 - 字段不存在
FieldType 4 - 文本类型字段
任何人都知道使用 iText 重命名 PDF 中的字段的任何替代方法。
请指教!!
【问题讨论】:
-
我刚刚找到原因,为什么它对我不起作用。我有 ”。” (点)在我的字段名中,似乎itext的renameField()方法不支持带有“。”的字段名(点)。我将点更改为“_”并且它起作用了。谢谢!!