iTextSharp table width 100% of page

谁说胖子不能爱 提交于 2020-01-01 03:59:06

问题


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?


回答1:


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

To set a static value the property is TotalWidth.




回答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.




回答3:


Users can also set table width by Percentage.

t.WidthPercentage = 100f;



回答4:


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

table.SetWidth(new UnitValue(UnitValue.PERCENT, 100));



回答5:


In Java table.setWidthPercentage(100); Works in 5.5.8 version



来源:https://stackoverflow.com/questions/1481139/itextsharp-table-width-100-of-page

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!