表列的宽度在每列之间相对定义。在以下示例中,我们定义了一个数组浮点数,用于存储列宽。我们定义的第二列是第一列的两倍,第三列是第一列的三倍。
要设置宽度,我们调用table的setWidths()方法。此方法可以接受浮点数数组或整数数组。这是示例代码:
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 TableColumnWidthDemo { public static void main(String[] args) { Document doc = new Document(); try { PdfWriter.getInstance(doc, new FileOutputStream("TableColumnWidth.pdf")); doc.open(); PdfPTable table = new PdfPTable(4); table.addCell(new PdfPCell(new Phrase("Cell 1"))); table.addCell(new PdfPCell(new Phrase("Cell 2"))); table.addCell(new PdfPCell(new Phrase("Cell 3"))); table.addCell(new PdfPCell(new Phrase("Cell 4"))); // 去除列的相对宽度 float[] columnWidths = new float[]{10f, 20f, 30f, 10f}; table.setWidths(columnWidths); 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>