使AcroFields(iTextSharp)不可编辑并设置为粗体

时间:2014-06-18 09:57:36

标签: java pdf itextsharp itext

我使用iTextSharp将数据填充到PDF模板,这是在OpenOffice中创建的。 它填写得很好,我得到了正确的PDF,但这是可编辑的模式。我想要不可编辑的PDF 。并且还某些行BOLD(按程序)。下面是我的代码段。

PdfStamper stamper = new PdfStamper(reader, outputStream);
AcroFields fields = stamper.getAcroFields();
//loop
fields.setField("Desc_", "HILINSKI, MARK");

请帮帮我。 感谢。

1 个答案:

答案 0 :(得分:3)

如果您不希望表单可编辑,请使用表单展平,如FillDataSheet示例中所述。将其添加到您的代码中:

fields.setGenerateAppearances(true);
stamper.setFormFlattening(true);

如果您想更改特定字段的字体,请使用setFieldProperty()方法更改"textfont",如TextFieldFonts示例中所示:

BaseFont bold =
        BaseFont.createFont(BaseFont.HELVETICA_BOLD, BaseFont.WINANSI, BaseFont.NOT_EMBEDDED);
form.setFieldProperty("Desc_", "textfont", bold, null);

有关详细信息,请阅读official documentation