1

我在代码中有这样的陈述

MultiColumnText mct = new MultiColumnText(MultiColumnText.AUTOMATIC);
mct.AddRegularColumns(document.Left, document.Right, 30f, 2);
mct.AddElement(table);

但是在将 iText 升级到 5.3.3 后,他们删除了 MultiColumnText 并建议改用 ColumnText!

用 ColumnText 重写这段代码的方法

4

1 回答 1

1

有很多可用的例子。寻找关键字ColumnText

例如看这个例子:http: //itextpdf.com/examples/iia.php ?id=68

您需要的代码如下所示:

float middle = (document.left() + document.right()) / 2;
float[][] columns = {
        { document.left(), document.bottom(), middle - 15, document.top() } ,
        { middle + 15, document.bottom(), document.right(), document.top() }
};

ColumnText ct = new ColumnText(writer.getDirectContent());
ct.addElement(table);
int column = 0;
int status = ColumnText.START_COLUMN;
while (ColumnText.hasMoreText(status)) {
  ct.setSimpleColumn(
    COLUMNS[column][0], columns[column][1],
    COLUMNS[column][2], columns[column][3]);
  status = column.go();
  if (++count > 1) {
    count = 0;
    document.newPage();
  }
}
于 2012-11-23T12:54:00.130 回答