使用Itext填充PDF字段
来源使用Itext填充PDF字段,pdf,Pdf,来源 try { PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(outname)); AcroFields fields = stamper.getAcroFields(); // fields.get("Your Company Name:", "Changed"); // fields.get("Project Notes:", "Changed"); fiel
try {
PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(outname));
AcroFields fields = stamper.getAcroFields();
// fields.get("Your Company Name:", "Changed");
// fields.get("Project Notes:", "Changed");
fields.setField("Your Company Name:", "Changed");
fields.setField("Project Notes:", "Blah...Blah");
Set<String> fldNames = fields.getFields().keySet();
for (String fldName : fldNames) {
System.out.println( fldName + ": " + fields.getField( fldName ) );
}
stamper.close();
我想我已经看了很久不同的项目版本了。我看了类似的问题,他们使用了setAttributes,这也不起作用。我还在字段中运行代码。未注释get代码并收到编译错误-get string Undefined for type字段
另外,当我创建新的PDF文件时,是否有一种简单的方法可以延长您的公司名称
值长度。。目前是21个字符,我希望大约是30个字符。您可以打印
System.out.println( fldName + ": " + fields.getField( fldName ) );}
因此,输出
Your Company Name:
Your Name:
[...]
(至少我假设换行符在那里,你把它们放在了你的问题文本中)
指示字段名称为“您的公司名称”
和“您的名称”
,而不是“您的公司名称:”
和“您的名称:”
等
因此,应该从字段设置调用中删除冒号
fields.setField("Your Company Name:", "Changed");
fields.setField("Project Notes:", "Blah...Blah");
fields.setField("Your Company Name:", "Changed");
fields.setField("Project Notes:", "Blah...Blah");