iTextSharp PDF设置字体样式
一,点进Font类我们可以看到字体基本属性有颜色,大小,样式
其中style包含四种样式,8:划掉4:下划线2:斜体1:加粗。这里比较巧妙的点在于,样式可以叠加,因为用二进制表示就是0000,每一位上的1都表示了一种样式。例如0101就代表下划线+加粗。
** 生成字体**
String fontPath = "本地字体包路径";
BaseFont bfChinese = BaseFont.CreateFont(fontPath , BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
Font fontChinese = new Font(bfChinese, 10, Font.NORMAL, new BaseColor(0, 0, 0));
** 设置大小**
Font font = new Font(bfChinese , 10f);
无样式
Paragraph p1 = new Paragraph("我没有样式", font);
document.add(p1);
加粗
font.setStyle(1);
Paragraph p2 = new Paragraph("我是加粗样式", font);
document.add(p2);
下划线
font.setStyle(4);
Paragraph p3 = new Paragraph("我是下划线样式", font);
document.add(p3);
下划线+加粗
**font.setStyle(5);
Paragraph p4 = new Paragraph("我是下划线+加粗样式", font);
document.add(p4);**
删除线
**font.setStyle(8);
Paragraph p5 = new Paragraph("我是删除线样式", font);
document.add(p5);**
斜体
font.setStyle(2);
Paragraph p6 = new Paragraph("我是斜体样式", font);
document.add(p6);
二,颜色传入一个BaseColor,这里可以使用BaseColor定义的基本颜色,也可以自己设置三元素。
BaseColor red = BaseColor.RED;
font.setStyle(0);
红色字体
font.setColor(red);
Paragraph p7 = new Paragraph("我是红色字体", font);
document.add(p7);
其他颜色字体
font.setColor(100,100,200);
Paragraph p8 = new Paragraph("我是其他颜色字体", font);
document.add(p8);
效果图: