使用acroFields.setFieldProperty(nameField, "textfont", baseFont, null);的方式不能加粗,因为第三个参数必须是BaseFont类型,不能是Font类型。
可以使用下面的方式加粗:
BaseFont bf = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);
Font font = new Font(bf, 12, Font.BOLD);
//Font font = FontFactory.getFont(FontFactory.COURIER, 20, Font.BOLD, BaseColor.RED);
AcroFields s = ps.getAcroFields();
// 设置加粗只能用这种方式
List multiLinePosition = s.getFieldPositions("name");
int page = multiLinePosition.get(0).page;
Rectangle rectangle = multiLinePosition.get(0).position;
float left = rectangle.getLeft();
float right = rectangle.getRight();
float top = rectangle.getTop();
float bottom = rectangle.getBottom();
PdfContentByte pdfContentByte = ps.getOverContent(page);