Water Cooler v2
Water Cooler v2

Reputation: 33850

Draw a borderless table in iTextSharp

It appears as though the PDfPCell class does have a border property on it but not the PdfPTable class.

Is there some property on the PdfPTable class to set the borders of all its contained cells in one statement?

Upvotes: 2

Views: 10376

Answers (3)

user2792959
user2792959

Reputation:

The following worked for me.

cell.Border = Rectangle.NO_BORDER;

Upvotes: 2

iTextSharp has no setBorder() method.

I tried the following:

cell.HasBorder(Rectangle.NO_BORDER); // <= this did nothing
cell.BorderColor = BaseColor.WHITE; // <= this works for me, but if your document's background is not white, you might not like it
cell.BorderWidth = 0; // <= this works like gangbusters

So it seems the "safest" way to go is to set BorderWidth to zilch AKA nada.

Upvotes: 3

Bruno Lowagie
Bruno Lowagie

Reputation: 77528

Borders are defined at the level of the cell, not at the level of the table. Hence: if you want to remove the borders of the table, you need to remove the borders of each cell.

By default, each cell has a border. You can change this default behavior by changing the border of each cell. For instance: if you create PdfPCell objects, you use:

cell.setBorder(Rectangle.NO_BORDER);

In case the cells are created internally, you need to change that property at the level of the default cell. See What is the PdfPTable.DefaultCell property used for?

table.getDefaultCell().setBorder(Rectangle.NO_BORDER);

For special borders, for instance borders with rounded corners or a single border for the whole table, or double borders, you can use either cell events or table events, or a combination of both. In Chapter 5 of my book "iText in Action - Second Edition", you'll find a PDF with double borders. See the PressPreviews example to see how this was done. Note that all examples from the book were ported to C#. You can find these examples here.

The official site also has examples where the borders are dotted lines, have rounded corners, and so on.

Upvotes: 2

Related Questions