【问题标题】:How can i increase the number of table columns dynamically in itext PdfPTable如何在 itext PdfPTable 中动态增加表列的数量
【发布时间】:2018-02-13 09:22:47
【问题描述】:

我有一个 I 文本 pdf 表,我想动态增加列,并且我想为添加的列放置列宽。

table=new PdfPTable(5);
            table.setWidthPercentage(100f);
            table.setWidths(new float[]{0.5f,0.7f,0.7f,0.5f,1.0f});

在上面它工作正常, 但是如果像下面这样增加表格列

int size=3;
table=new PdfPTable(5+size);
            table.setWidthPercentage(100f);
            table.setWidths(new float[]{0.5f,0.7f,0.7f,0.5f,1.0f,___});

            cell=new PdfPCell(new Phrase("Sl. No.",fontBold));
            cell.setHorizontalAlignment(Element.ALIGN_CENTER);
            table.addCell(cell);

我知道如果我不放任何 setWidths 那么它也可以像下面这样工作

table=new PdfPTable(5);

            cell=new PdfPCell(new Phrase("Sl. No.",fontBold));
            cell.setHorizontalAlignment(Element.ALIGN_CENTER);
            table.addCell(cell);

但它会自动占用纸张宽度,因为 colspan 和 rowspan 无法正常工作

【问题讨论】:

    标签: java itext itext7


    【解决方案1】:

    使用这样的方法,您可以将单元格宽度输入为浮点数组,设置创建表格的位置以及整个表格的总宽度。

     public void AddTable(float[] cellWidths, int x, int y, float totalWidth, int page)
            {
                table = new Table(cellWidths);
                table.SetWidth(totalWidth);
                table.SetFixedPosition(page, x, y, totalWidth);
            }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多