您可以使用com.itextpdf.text.pdf.PdfPCell的setPadding()方法设置单元格的填充。要设置单独的填充您可以使用setPaddingTop(),setPaddingRight(),setPaddingBottom(),和setPaddingLeft()方法来分别设置顶,右,下左填充。
package org.nhooo.example.itextpdf; import com.itextpdf.text.Document; import com.itextpdf.text.DocumentException; 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 TableCellPadding { public static void main(String[] args) { Document doc = new Document(); try { PdfWriter.getInstance(doc, new FileOutputStream("TableCellPadding.pdf")); doc.open(); int numColumns = 3; PdfPTable table = new PdfPTable(numColumns); PdfPCell[] cells = new PdfPCell[numColumns]; for (int i = 0; i < numColumns; i++) { cells[i] = new PdfPCell(new Phrase("Cell " + i + 1)); // 均匀设置单元格的所有边距 // 细胞。 cells[i].setPadding(10); table.addCell(cells[i]); } table.completeRow(); cells = new PdfPCell[numColumns]; for (int i = 0; i < numColumns; i++) { cells[i] = new PdfPCell(new Phrase("Cell " + i + 1)); // 分别为顶部,右侧, // 底部和左侧填充。 cells[i].setPaddingTop(20); cells[i].setPaddingRight(30); cells[i].setPaddingBottom(20); cells[i].setPaddingLeft(30); 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>