我正在使用iTextSharp生成PDF文档。该文档必须只有一页。换句话说,内容必须符合页面大小。 是否可以通过iTextSharp实现这一目标?
我尝试在将内容添加到文档之前获取内容的高度,因此我可以在创建文档之前计算总大小, 但是一些内容类型(例如表格)在添加到文档之前没有高度。
答案 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
在渲染之前不知道宽度。