我正在使用 iTextSharp 生成 PDF 文档。该文档必须只有一页。换句话说,内容必须适合页面大小。 使用 iTextSharp 可以实现这一点吗?
我尝试在将内容添加到文档之前获取内容的高度,这样我可以在创建文档之前计算总大小, 但某些内容类型(例如表格)在添加到文档之前没有高度。
最佳答案
如果您创建一个 PdfPTable
并定义表格的宽度,例如如下所示:
table.TotalWidth = 400f;
table.LockedWidth = true;
然后您可以使用向table
询问其高度,如下所示:
Float h = table.TotalHeight;
您可以使用 h
定义页面大小,例如:
Document document = new Document(400, h, 0, 0, 0, 0);
请注意,所有测量均以用户单位完成,默认情况下 1 个用户单位等于 1 分。如果不定义宽度,getTotalHeight()
方法将返回 0,因为高度取决于宽度,而 table
在定义宽度之前并不知道宽度。渲染。
关于c# - 如何根据内容定义页面大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33203960/