我们可以水平和垂直设置表格单元格的内容对齐方式。要设置水平对齐方式,我们使用setHorizontalAlignment()方法。要垂直对齐,我们使用setVerticalAlignment()方法。对齐常数在com.itextpdf.text.Element类中定义。
package org.nhooo.example.itextpdf; import com.itextpdf.text.Document; import com.itextpdf.text.DocumentException; import com.itextpdf.text.Element; import com.itextpdf.text.Phrase; import com.itextpdf.text.pdf.PdfPCell; import com.itextpdf.text.pdf.PdfPTable; import com.itextpdf.text.pdf.PdfWriter; import java.io.FileNotFoundException; import java.io.FileOutputStream; public class TableCellAlignment { public static void main(String[] args) { Document doc = new Document(); try { PdfWriter.getInstance(doc, new FileOutputStream("TableCellAlignment.pdf")); doc.open(); // 设置表格的单元格水平对齐 PdfPTable table = new PdfPTable(3); PdfPCell cell1 = new PdfPCell(new Phrase("Cell 1")); cell1.setHorizontalAlignment(Element.ALIGN_LEFT); table.addCell(cell1); PdfPCell cell2 = new PdfPCell(new Phrase("Cell 2")); cell2.setHorizontalAlignment(Element.ALIGN_CENTER); table.addCell(cell2); PdfPCell cell3 = new PdfPCell(new Phrase("Cell 3")); cell3.setHorizontalAlignment(Element.ALIGN_RIGHT); table.addCell(cell3); table.completeRow(); // 设置表格的单元格垂直对齐 PdfPCell[] cells = new PdfPCell[3]; int[] alignments = new int[]{ Element.ALIGN_TOP, Element.ALIGN_MIDDLE, Element.ALIGN_BOTTOM }; for (int i = 0; i < cells.length; i++) { cells[i] = new PdfPCell(new Phrase("Cell " + (i + 1))); cells[i].setMinimumHeight(50); cells[i].setVerticalAlignment(alignments[i]); table.addCell(cells[i]); } table.completeRow(); doc.add(table); } catch (DocumentException | FileNotFoundException e) { e.printStackTrace(); } finally { doc.close(); } } }
Maven依赖
<!-- http://repo1.maven.org/maven2/com/itextpdf/itextpdf/5.5.10/itextpdf-5.5.10.jar --> <dependency> <groupId>com.itextpdf</groupId> <artifactId>itextpdf</artifactId> <version>5.5.10</version> </dependency>