如何根据内容定义页面大小?

时间:2015-10-18 22:28:44

标签: c# itextsharp

我正在使用iTextSharp生成PDF文档。该文档必须只有一页。换句话说,内容必须符合页面大小。 是否可以通过iTextSharp实现这一目标?

我尝试在将内容添加到文档之前获取内容的高度,因此我可以在创建文档之前计算总大小, 但是一些内容类型(例如表格)在添加到文档之前没有高度。

1 个答案:

答案 0 :(得分:2)

如果您创建PdfPTable并且定义了表格的宽度,例如:

table.TotalWidth = 400f;
table.LockedWidth = true;

然后你可以使用问table这样的高度:

Float h = table.TotalHeight;

您可以使用h来定义页面大小,例如:

Document document = new Document(400, h, 0, 0, 0, 0);

请注意,所有测量均以用户单位完成,默认情况下一个用户单位等于1 pt。如果没有定义宽度,getTotalHeight()方法将返回0,因为高度取决于宽度,table在渲染之前不知道宽度。