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

Java Make AcroFields(iTextSharp)不可编辑并设置为粗体,java,pdf,itextsharp,itext,Java,Pdf,Itextsharp,Itext,我正在使用iTextSharp将数据填充到PDF模板中,该模板是在OpenOffice中创建的。 它的填充很好,我得到了正确的PDF,但这是未来的编辑模式。我想要不可编辑的PDF。并将某些行加粗(通过程序)。下面是我的代码片段 PdfStamper stamper = new PdfStamper(reader, outputStream); AcroFields fields = stamper.getAcroFields(); //loop fields.setField("Desc_",

我正在使用iTextSharp将数据填充到PDF模板中,该模板是在OpenOffice中创建的。 它的填充很好,我得到了正确的PDF,但这是未来的编辑模式。我想要不可编辑的PDF。并将某些行加粗(通过程序)。下面是我的代码片段

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

如果您不希望表单处于可编辑状态,请按照示例中的操作使用表单展开。将此添加到您的代码中:

fields.setGenerateAppearances(true);
stamper.setFormFlattening(true);
如果要更改特定字段的字体,请使用
setFieldProperty()
方法更改
“textfont”
,如示例所示:

有关更多信息,请阅读

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