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

标签 java pdf itext

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

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

请帮助我。 谢谢。

最佳答案

如果您不希望表单可编辑,请使用表单扁平化,如 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 .

关于java - 使 AcroFields(iTextSharp) 不可编辑并设置为粗体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24282559/

相关文章:

java - Axis :带参数的 createCall

java - php相当于jython?

ios - 纹理图集可以包含 PDF 图像吗?

java - 错误 : 'Premature end of file.'

C# iTextSharp 通过字节数组合并多个 pdf

java - 文字游戏。如何使用包?

java - 实现也在使用我的应用程序的用户的 Facebook 好友列表

cordova - 在cordova应用程序中打开PDF

ios - 在 iOS 中的 Safari 中打开本地 PDF

c# - 如何实现 getDirectContent() itextsharp