在项目中需要用java自动生成pdf文件,然后用了itext的jar包:iext-asian-5.2.0.jar和itextpdf-5.5.9.jar
然后再调格式的时候遇到单元格里面的文字不能设置行高的问题:
Paragraph有setLeading()方法来设置行高,但是将这个Paragraph放在PdfPCell单元格里就不起作用了.
PdfPCell client_name = new PdfPCell();
Paragraph paragraph_1 = new Paragraph(
"姓名姓名姓名姓名姓名姓名姓名姓名姓名姓名姓名姓名姓名姓名姓名姓名姓名姓名姓名姓名姓名姓名姓名姓名姓名姓名姓名姓名姓名姓名姓名姓名姓名姓名姓名姓名姓名姓名姓名姓名姓名姓名姓名姓名姓名姓名",
pdftest.ContentFont());
paragraph_1.setLeading(20f);
client_name = new PdfPCell(paragraph_1);
client_name.setPaddingLeft(5.23f);
client_name.setPaddingBottom(5);
client_name.setPaddingTop(5);
client_name.setBorderColor(BaseColor.WHITE);
client_name.setVerticalAlignment(Element.ALIGN_MIDDLE);
client_name.setBackgroundColor(tableBgColor);
basic_info_table.addCell(client_name);
Paragraph test_para = new Paragraph(testString,ContentFont());
test_para.setLeading(20f);
document.add(test_para);
查看源码发现构造方法创建对象时,没获取传Paragraph的setLeading,而是直接设置了行高为(0,1);
我发现PdfPCell提供了设置行高的方法: