Java 表格文字垂直居中_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);//新建段落

p01.setAlignment(Paragraph.ALIGN_CENTER);//段落的对齐方式

cell01.addElement(p01);

table01.addCell(cell01);

3、使用getDefaultCell()方式,getDefaultCell只能设置,addCell的参数为字符串的Cell。

table.getDefaultCell().setHorizontalAlignment(Element.ALIGN_CENTER);for (int counter = 1; counter < 101; counter++) {

table.addCell(String.valueOf(counter));

table.addCell("key " +counter);

table.addCell("value " +counter);

}


版权声明:本文为weixin_39716521原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。