昨晚寻找了网上很多关于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(); } }