表在IText中没有添加正确的单元格

时间:2016-04-05 21:00:15

标签: java itext

我在Itext中创建一个文档,并将其分解为4个主要的Cell,其中嵌套了表格。我正在创建我的文档的最后一个单元格,除了每一行中的第一个单元格外都无法获取任何内容。

这是我正在调用的函数,它返回一个我要添加到主文档中的单元格。

public PdfPCell getPSBioCell() {

    PdfPCell spaceCell = new PdfPCell(new Phrase(""));
    spaceCell.setColspan(1); // space
    spaceCell.setBorder(0);
    PdfPTable table = new PdfPTable(4);
    PdfPCell main = new PdfPCell();
    noBorder(main);//
    main.setPadding(0);//


    PdfPCell dist = new PdfPCell(new Phrase(_rangerDistrict, nf));
     PdfPCell district = new PdfPCell(new Phrase(this.sale.getRangerDistrict(), nf));
    PdfPCell saleD = new PdfPCell(new Phrase(_saleDate, nf));
    PdfPCell saleDate = new PdfPCell(new Phrase(this.formatDateString(sale.getSaleDate()), nf));
    PdfPCell awardD = new PdfPCell(new Phrase(_awardDate, nf));
    PdfPCell awardDate = new PdfPCell(new Phrase(this.formatDateString(sale.getAwardDate()), nf));
    PdfPCell termD = new PdfPCell(new Phrase(_termDate, nf));
    PdfPCell termDate = new PdfPCell(new Phrase(this.formatDateString(sale.getTerminationDate()), nf));
    PdfPCell avg = new PdfPCell(new Phrase(_avgDbh , nf));
    PdfPCell avgDbh = new PdfPCell(new Phrase(this.formatNumberString(String.valueOf(sale.getAveDiam())), nf));
    PdfPCell cruis = new PdfPCell(new Phrase(_cruiser, nf));
    PdfPCell cruiser = new PdfPCell(new Phrase(sale.getCruiser(), nf));
    noBorder(dist, district, saleD, saleDate);
    noBorder(awardD, awardDate, termD, termDate, avg);
    noBorder(avgDbh, cruis, cruiser);
    //
    table.addCell(dist);
    table.addCell(district);
    table.addCell(spaceCell);
    table.addCell(spaceCell);
    //
    table.addCell(saleD);
    table.addCell(saleDate);
    table.addCell(spaceCell);
    table.addCell(spaceCell);
    //
    table.addCell(awardD);
    table.addCell(awardDate);
    table.addCell(spaceCell);
    table.addCell(spaceCell);
    //
    table.addCell(termD);
    table.addCell(termDate);
    table.addCell(spaceCell);
    table.addCell(spaceCell);
    //
    table.addCell(avg);
    table.addCell(avgDbh);
    table.addCell(spaceCell);
    table.addCell(spaceCell);
    //
    table.addCell(cruis);
    table.addCell(cruiser);
    table.addCell(spaceCell);
    table.addCell(spaceCell);


    table.setWidthPercentage(100);
    main.addElement(table);
    return main;
}

1 个答案:

答案 0 :(得分:0)

这里的问题是在noBorder(PdfPcell)我正在执行的cell.setBorder(0)函数中cell.noWrap(true)但我也在做0所以将边框设置为true并将noWrap设置为{{1}我无法看到其他单元格被推离完成的Pdf页面。