如何设置没有嵌套表的边框?

时间:2012-08-29 13:15:02

标签: java border itext

我有一个包含一些单元格和嵌套表格的表格。

嵌套表格周围有边框,但我不知道为什么。

单元格没有边框,因为我添加到单元格和嵌套单元格:

cell.setBorder(Rectangle.NO_BORDER);

然后我将嵌套表添加到表中;

table.addCell(nestedTable());

似乎是嵌套表周围的Cell有边框。

如何将其设置为零?

更新:

public static void main(String[] args) {
    Document document = new Document();

    try {
        PdfWriter.getInstance(document, new FileOutputStream("Table2.pdf"));

        document.open();

        PdfPTable table = new PdfPTable(3);

        PdfPCell cell1 = new PdfPCell(new Phrase("Cell 1"));
        cell1.setHorizontalAlignment(Element.ALIGN_CENTER);
        cell1.setBorder(Rectangle.NO_BORDER);
        PdfPCell cell2 = new PdfPCell(new Phrase("Cell 2"));
        cell2.setHorizontalAlignment(Element.ALIGN_CENTER);
        cell2.setBorder(Rectangle.NO_BORDER);
        PdfPCell cell3 = new PdfPCell(new Phrase("Cell 3"));
        cell3.setHorizontalAlignment(Element.ALIGN_CENTER);
        cell3.setBorder(Rectangle.NO_BORDER);

        PdfPTable nestedTable = new PdfPTable(2);
        PdfPCell cell4 = new PdfPCell(new Phrase("Nested Cell 1"));
        cell4.setHorizontalAlignment(Element.ALIGN_CENTER);
        cell4.setBorder(Rectangle.NO_BORDER);
        nestedTable.addCell(cell4);

        PdfPCell cell5 = new PdfPCell(new Phrase("Nested Cell 2"));
        cell5.setHorizontalAlignment(Element.ALIGN_CENTER);
        cell5.setBorder(Rectangle.NO_BORDER);
        nestedTable.addCell(cell5);

        table.addCell(cell1);
        table.addCell(cell2);
        table.addCell(cell3);

        table.addCell(nestedTable);
        table.addCell(nestedTable);
        table.addCell(nestedTable);

        document.add(table);

        document.close();

    } catch (Exception e) {
        e.printStackTrace();
    }
}

enter image description here

3 个答案:

答案 0 :(得分:4)

尝试修改主表的默认单元格:

PdfPTable table = new PdfPTable(3);
table.getDefaultCell().setBorder(Rectangle.NO_BORDER);

有关详细信息,请参阅API

答案 1 :(得分:2)

好的,我明白了。

我无法做到这一点:

    table.addCell(nestedTable);

而不是这个我需要创建新单元格并在此单元格内添加嵌套表格,现在我没有边框

答案 2 :(得分:-1)

你试过table.setBorder(Rectangle.NO_BORDER); ??