我想要一张没有边框的桌子。我试图设置边框属性,单独的边框属性,手动设置边框,将单元格边框设置为无边框等。无删除边框。有没有边框的iText 7表的正确方法是什么?
onErrorReturn()
这些设置似乎都不起作用。使用iText 7.0.2
答案 0 :(得分:1)
首先,运行下一个代码段,看看iText7可以创建没有边框的表格。
PdfDocument pdfDoc = new PdfDocument(new PdfWriter(outFileName));
Document doc = new Document(pdfDoc);
Table table = new Table(new float[] {50, 50 });
Paragraph headerParagraph = new Paragraph();
Text headerTitle = new Text("Title of PDF")
.setFontSize(20)
.setFontColor(new DeviceRgb(0, 128, 128));
Text headerDescription = new Text("Description")
.setFontSize(11);
headerParagraph.add(headerTitle);
headerParagraph.add(headerDescription);
table.addCell(new Cell().add("logo").setBorder(Border.NO_BORDER));
table.addCell(new Cell().add(headerParagraph).setBorder(Border.NO_BORDER).setTextAlignment(TextAlignment.RIGHT));
doc.add(table);
这是负责这种"魔法" :
table.addCell(new Cell().add("logo").setBorder(Border.NO_BORDER));
但是根本没有魔法。 默认情况下,单元格在iText7中有边框(0.5px纯黑色)。因此,如果要添加没有边框的单元格,则应通过将NO_BORDER设置为单元格边框来指定它。
另一方面,表格默认没有边框(我的意思是边界边界)。因此,没有必要在这些方面:
table.setProperty(Property.BORDER_BOTTOM, Border.NO_BORDER);
table.setProperty(Property.BORDER_LEFT, Border.NO_BORDER);
table.setProperty(Property.BORDER_RIGHT, Border.NO_BORDER);
table.setProperty(Property.BORDER_TOP, Border.NO_BORDER);
table.setProperty(Property.BORDER, Border.NO_BORDER);
table.setBorder(Border.NO_BORDER);
另外,您应该了解table.setBorder(border)
代表table.setProperty(Property.BORDER, border)
。 table.setBorderLeft(border)
等同样