1

我有一张带有一些单元格和嵌套表格的表格。

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

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

cell.setBorder(Rectangle.NO_BORDER);

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

table.addCell(nestedTable());

似乎嵌套表周围的单元格有边框。

如何将其设置为零?

更新:

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();
    }
}

在此处输入图像描述

4

3 回答 3

4

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

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

有关更多信息,请参阅API

于 2012-08-30T10:49:26.210 回答
2

好,我知道了。

我不能这样做:

    table.addCell(nestedTable);

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

于 2012-08-30T10:59:26.820 回答
-1

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

于 2012-08-30T10:33:00.227 回答