我正在使用 iText 2.1.7,通过以下依赖项包含...
<dependency>
<groupId>com.lowagie</groupId>
<artifactId>itext</artifactId>
<version>2.1.7</version>
</dependency>
如何在我尝试导出的 PDF 中更改 PDF 字段的文本大小?我使用 OpenOffice 4.1.0 创建了一个 PDF 模板,然后尝试使用此代码来设置文本大小:
final PdfReader pdfTemplate = new PdfReader(pdfTemplateFile.toString());
// Prepare to generate a byte output stream
ByteArrayOutputStream out = new ByteArrayOutputStream();
PdfStamper stamper = new PdfStamper(pdfTemplate, out);
stamper.setFormFlattening(true);
…
stamper.getAcroFields().setField(PARTICIPANT_FIELD_NAME, user.getFirstName() + " " + user.getLastName());
stamper.getAcroFields().setFieldProperty(PARTICIPANT_FIELD_NAME, "textsize", new Float(36), null);
final BaseFont font = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.EMBEDDED);
stamper.getAcroFields().setFieldProperty(PARTICIPANT_FIELD_NAME, "textfont", font, null);
无论我在“new Float(xxx”之间放置什么值,字体大小总是呈现相同的。我哪里错了?
1 回答
在使用
setField()
方法设置字段时生成字段的外观。这意味着你正在以错误的顺序做事。像这样更改你的代码:至于你使用 iText 2.1.7,显然是不是个好主意,但我们想知道为什么你更喜欢使用过时的软件,所以我们聘请了 Black Duck Software 来帮助我们这项调查。