这是一种方法:在您的情况 3 中,使用所需的列数创建一个 PdfPTable。对于您的数据的每次迭代,创建一个具有 1 列的 PdfPTable。创建 2 个 PdfPCell 对象,一个包含您当前所在的数据元素,另一个包含数据中的下一个值。所以现在你有一个 1 列和 2 行的 PdfPTable。将此 PdfPTable 添加到具有 3 列的 PdfPTable。继续此操作,直到打印完所有数据。用代码更好地解释:
public class Clazz {
public static final String RESULT = "result.pdf";
private String [] data = {"1", "2", "3", "4", "5", "6"};
private void go() throws Exception {
Document doc = new Document();
PdfWriter.getInstance(doc, new FileOutputStream(RESULT));
doc.open();
PdfPTable mainTable = new PdfPTable(3);
PdfPCell cell;
for (int i = 0; i < data.length; i+=2) {
cell = new PdfPCell(new Phrase(data[i]));
PdfPTable table = new PdfPTable(1);
table.addCell(cell);
if (i+1 <= data.length -1) {
cell = new PdfPCell(new Phrase(data[i + 1]));
table.addCell(cell);
} else {
cell = new PdfPCell(new Phrase(""));
table.addCell(cell);
}
mainTable.addCell(table);
}
doc.add(mainTable);
doc.close();
}
}