如何用iText中的ColumnText替换MultiColumnText

时间:2012-11-23 10:31:59

标签: c# .net itextsharp itext

我在代码中有这样的陈述

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

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

使用ColumnText

重写此代码的方法

1 个答案:

答案 0 :(得分: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();
  }
}