itext PDF的使用
程序员文章站
2022-03-11 17:42:41
...
iText PDF添加下划线的三种方式
生成一个简单的PDF
public class ItextPDF {
//定义默认字体
private static BaseFont bfSong = null;
private static Font Fontsong12 = null;
private static Font Fontsong12U=null;
private static Document document = new Document(PageSize.A4,20.0F, 20.0F, 36.0F, 36.0F);//普通a4
/**
* 字体初始化
*/
static {
try {
bfSong = BaseFont.createFont("font/song.ttf",BaseFont.IDENTITY_H, BaseFont.EMBEDDED);
} catch (Exception e) {
e.printStackTrace();
}
Fontsong12 = new com.itextpdf.text.Font(bfSong, 12, com.itextpdf.text.Font.NORMAL);//12号宋
Fontsong12U=new Font(bfSong, 12, Font.NORMAL);
Fontsong12U.setStyle(Font.UNDERLINE);
}
public static void main(String[] args) throws Exception {
File f = new File("c:" + File.separator +"pdfTest"+File.separator+"iTextPdfTest.pdf");
OutputStream out = null;
try {
out = new FileOutputStream(f);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
Document document = new Document(PageSize.A4);
PdfWriter.getInstance(document, out);
document.open();
PdfPTable table1 = new PdfPTable(1);
PdfPCell cell11 = new PdfPCell(new Paragraph("Hello World iTextPDF", Fontsong12));
cell11.setVerticalAlignment(Element.ALIGN_MIDDLE); //设置垂直居中
cell11.setHorizontalAlignment(Element.ALIGN_CENTER);//设置水平居中
cell11.setBorder(0);
table1.addCell(cell11);
document.add(table1);
document.close();
}
}
结果演示:
生成下划线的方式1:
使用cell11.setBorder(BOTTOM); //设置下划线
注意:需要导入 import static com.itextpdf.text.Rectangle.BOTTOM;
结果演示:
生成下划线的方式2:
通过对字体进行设置,对其设置setStyle(Font.UNDERLINE),同上代码的Fontsong12U
结果演示:
生成下划线的方式3:
将cell的上左右变成设为0,下边框设为1,模拟下划线情况
结果演示:
项目过程中遇到了一句话中会有好几个下划线分开的情况,只需要将其拆分成多个cell然后进行拼接起来即可.
上一篇: css input大小怎么设置