iTextSharp table width 100% of page

67,064

Solution 1

In iTextSharp latest version (5.0.4) the PdfPTable has a WidthPercentage property.

To set a static value the property is TotalWidth.

Solution 2

Figured it out. Apparently table.Width is a percent and not the width in pixels. So using:

table.Width = 100;

Worked like a charm.

Solution 3

Users can also set table width by Percentage.

t.WidthPercentage = 100f;

Solution 4

The WidthPercentage property is no longer available in iText7. Use the following instead

table.SetWidth(new UnitValue(UnitValue.PERCENT, 100));
Share:
67,064

Related videos on Youtube

Kyle
Author by

Kyle

Self employed developer of SQLPro Studio for macOS, iOS and Windows.

Updated on July 09, 2022

Comments

  • Kyle
    Kyle almost 2 years

    I'm trying to add a table to a document using iTextSharp. Here is an example:

    Document document = new Document(PageSize.LETTER,72, 72, 72, 72);
    PdfWriter writer = PdfWriter.GetInstance(document, new FileStream("C:\\test.pdf", FileMode.Create));
    
    document.Open();
    Table table = new Table ( 2, 1 );
    table.Width = document.RightMargin - document.LeftMargin;
    
    // Cell placeholder
    Cell cell = new Cell ( new Paragraph ( "Some Text" ) );
    table.AddCell ( cell );
    cell = new Cell ( new Paragraph ( "More Text" ) );
    table.AddCell ( cell );
    document.Add ( table );
    document.Close ( );
    

    I'm setting the width of the table so that it should extend the margin of the page. But when the pdf is created the table only takes about 80% of the space between the margin's. Am I doing something incorrectly here?

  • MaLiN2223
    MaLiN2223 about 8 years
    [5.5.9] TotalWidth is not a static value - it's just object property.
  • Aneeq Azam Khan
    Aneeq Azam Khan almost 6 years
    I had no option for just width so I used table.WidthPercentage = 100f;
  • mkl
    mkl almost 5 years
    The question and the other answers focus on itext for .Net in c# syntax. You use itext for java in java syntax. That's all the difference.