iTextSharp 表格宽度为页面的 100%

Posted

技术标签:

【中文标题】iTextSharp 表格宽度为页面的 100%【英文标题】:iTextSharp table width 100% of page 【发布时间】:2010-12-01 15:43:37 【问题描述】:

我正在尝试使用 iTextSharp 将表格添加到文档中。这是一个例子:

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

我正在设置表格的宽度,以便它可以扩展页面的边距。但是当创建 pdf 时,表格只占用了边距之间大约 80% 的空间。我在这里做错了吗?

【问题讨论】:

【参考方案1】:

想通了。显然table.Width 是百分比而不是像素宽度。所以使用:

table.Width = 100;

工作就像一个魅力。

【讨论】:

我没有选择宽度,所以我使用 table.WidthPercentage = 100f;【参考方案2】:

在 iTextSharp 最新版本 (5.0.4) 中,PdfPTable 具有 WidthPercentage 属性。

要设置静态值,属性是TotalWidth

【讨论】:

[5.5.9] TotalWidth 不是静态值 - 它只是对象属性。【参考方案3】:

用户还可以按百分比设置表格宽度。

t.WidthPercentage = 100f;

【讨论】:

【参考方案4】:

WidthPercentage 属性在 iText7 中不再可用。请改用以下内容

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

【讨论】:

【参考方案5】:

在Java中table.setWidthPercentage(100); 适用于 5.5.8 版本

【讨论】:

问题和其他答案集中在 c# 语法中的 .Net 的 itext 上。您在 java 语法中使用 itext for java。这就是所有的区别。【参考方案6】:

在 c# 中为 itext7

Table details = new Table(4, false).UseAllAvailableWidth();

【讨论】:

以上是关于iTextSharp 表格宽度为页面的 100%的主要内容,如果未能解决你的问题,请参考以下文章

水平滚动页面上 100% 宽度的图像

宽度为 100% 的 HTML 输入文本框溢出表格单元格

为啥具有 100% 宽度并显示为表格的元素有右边距不起作用?

在CSS网页里设成宽度为100%全屏,但网页里的table里宽度又怎么设置了?table宽度不会随着屏幕变化而变化?

表格的宽度因显示而冻结:块

html页面怎样能够自适应电脑屏幕宽度?