itextpdf中表格中单元格的⽂字⽔平垂直居中的设置
在使⽤itextpdf中,版本是5.5.6,使⽤Doucument⽅式⽣成pdf时,设置单元格中字体的对齐⽅式时,发现⼀些问题,并逐渐到了解决⽅式。
给我的经验就是:看官⽹的例⼦才能保证代码的效果,多看官⽹。
下⾯是设置的部分代码:
PdfPTable table01 = new PdfPTable(3);
table01.setHorizontalAlignment(Element.ALIGN_CENTER);//表格整体⽔平居中
table01.setTotalWidth(400);
PdfPCell cell01 = new PdfPCell();//单元格
cell01.setVerticalAlignment(PdfPCell.ALIGN_CENTER);//设置单元格的垂直对齐⽅式
cell01.setHorizontalAlignment(Element.ALIGN_RIGHT);//设置单元格的⽔平对齐⽅式
Paragraph p01 = new Paragraph("⼀个我嘻嘻嘻", headFont);//新建段落
cell01.addElement(p01);
table01.addCell(cell01);
其中:
cell01.setVerticalAlignment(PdfPCell.ALIGN_CENTER);//设置单元格的垂直对齐⽅式
cell01.setHorizontalAlignment(Element.ALIGN_RIGHT);//设置单元格的⽔平对齐⽅式
这两⾏代码是不起作⽤的。
解决⽅法:
1、按照itextpdf的代码书写⽅式
直接在new pdfPCell的时候添加Phrase、Paragraph、chunk
PdfPCell cell01 = new PdfPCell(new Phrase("哈哈哈哈哈",textFont));//单元格
cell01.setVerticalAlignment(PdfPCell.ALIGN_MIDDLE);//设置单元格的垂直对齐⽅式
cell01.setHorizontalAlignment(Element.ALIGN_CENTER);//设置单元格的⽔平对齐⽅式
2、使⽤Paragraph的⽔平居中功能,并⽤PdfPCell的setPadding,设置上下padding。
代码:
PdfPTable table01 = new PdfPTable(3);
table01.setHorizontalAlignment(Element.ALIGN_CENTER);//表格整体⽔平居中
table01.setTotalWidth(400);
PdfPCell cell01 = new PdfPCell();//单元格
cell01.setPaddingTop(0f);
cell01.setPaddingBottom(10f);
cell01.setBorderColor(BaseColor.GREEN);
Paragraph p01 = new Paragraph("⼀个我嘻嘻嘻", headFont);//新建段落
tabletable
p01.setAlignment(Paragraph.ALIGN_CENTER);//段落的对齐⽅式
cell01.addElement(p01);
table01.addCell(cell01);
3、使⽤getDefaultCell()⽅式,getDefaultCell只能设置,addCell的参数为字符串的Cell。
for (int counter = 1; counter < 101; counter++) {
table.addCell(String.valueOf(counter));
table.addCell("key " + counter);
table.addCell("value " + counter);
}

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。