IText PdfPTable表格 单元的居中显示

时间:2023-03-10 01:39:18
IText PdfPTable表格 单元的居中显示

昨晚寻找了网上很多关于IText表格居中问题,他们其中的有些代码我即使复制上去生成的doc表格的文字都是不居中的,后来我自己找出了一种居中方式:

为PdfPCell对象添加paragraph对象,并将该paragraph设置为居中:

    PdfPCell cell1 = new PdfPCell();
        Paragraph para = new Paragraph("该单元居中");
        //设置该段落为居中显示
        para.setAlignment(1);
        cell1.setPhrase(para);
        table.addCell(cell1);

代码亲测无误,全部代码如下:

import com.lowagie.text.*;
import com.lowagie.text.pdf.PdfPCell;
import com.lowagie.text.pdf.PdfPTable;
import com.lowagie.text.rtf.RtfWriter2; import java.io.FileOutputStream; /**
* PdfPTable的使用方法,表格居中问题
* User: HYY
* Date: 13-8-1
* Time: 下午9:54
* To change this template use File | Settings | File Templates.
*/
public class PdfpTableTest {
/**
* @param args
*/
public static void main(String[] args) throws Exception {
// 创建word文档,并设置纸张的大小
Document document = new Document(PageSize.A4);
//设置存放位置
RtfWriter2.getInstance(document, new FileOutputStream("C:/1.doc"));
document.open(); //生成三列表格
PdfPTable table = new PdfPTable(3);
//设置表格具体宽度
table.setTotalWidth(90);
//设置每一列所占的长度
table.setWidths(new float[]{50f, 15f, 25f}); PdfPCell cell1 = new PdfPCell();
Paragraph para = new Paragraph("该单元居中");
//设置该段落为居中显示
para.setAlignment(1);
cell1.setPhrase(para);
table.addCell(cell1); table.addCell(new PdfPCell(new Phrase("無幽之路IText教程")));
table.addCell(new PdfPCell(new Phrase("無幽之路IText教程"))); document.add(table); document.close();
} }