13

我正在使用开源http://itextpdf.com/来创建一些 pdf 。

我可以创建一个表,但所有列的宽度都相同,我需要更改特定列的宽度。

PdfPTable table = new PdfPTable(6);
Phrase tablePhrse = new Phrase("Sl n0", normalFontBold);
    PdfPCell c1 = new PdfPCell(tablePhrse);
    c1.setHorizontalAlignment(Element.ALIGN_CENTER);
    table.addCell(c1);

我找不到任何方法来设置列的宽度,请建议一些方法来实现这一点..

4

5 回答 5

23

您可以使用 setWidths() 方法。

table.setWidths(new int[]{200,50});

公共无效 setWidths(int[] relativeWidths)

于 2013-02-08T18:32:55.740 回答
4

尝试这个。

float[] columnWidths = new float[]{10f, 20f, 30f, 10f};
table.setWidths(columnWidths);
于 2017-04-04T09:13:54.503 回答
1

table.setWidths(new int[]{200,50});如果不起作用 ,这是更正的一个。

innertable.setWidthPercentage(50);
于 2016-12-18T08:01:46.213 回答
1

确保设置表格总宽度

// Set Column Number
PdfPTable table = new PdfPTable(2);

// Set Table Total Width
table.setTotalWidth(500);

// Set Each Column Width - Make Sure Array is the same number specified in constructor
table.setWidths(new int[]{50, 450});
于 2019-01-28T14:44:49.267 回答
1
float[] columnWidths = {1, 5, 5};

// columnWidths = {column1, column2, column3...}

PdfPTable table = new PdfPTable(columnWidths)
于 2019-04-02T08:58:43.927 回答