【发布时间】:2015-10-18 22:28:43
【问题描述】:
我正在使用 iTextSharp 生成 PDF 文档。该文件必须只有一页。换句话说,内容必须适合页面大小。 是否可以使用 iTextSharp 实现这一目标?
我尝试在将内容添加到文档之前获取内容的高度,因此我可以在创建文档之前计算总大小, 但是某些内容类型(例如表格)在添加到文档之前没有高度。
【问题讨论】:
-
如果您在模拟模式下将所有内容添加到
ColumnText对象,您可以向ColumnText询问“消耗”的高度。使用该高度来定义您的页面高度。见Adjust page height to content height。另一种选择是使用PdfPTable,如下所示:How to resize a PdfPTable to fit the page? -
感谢您的回答,但我已经完成了创建临时文档并添加包含所有内容的 PdfPTable 的工作。这样做,我得到了总大小,然后在一个与表格大小相同的新文档中使用它。
-
第二个选项不适用于我的上下文,因为我不希望表格适合页面大小,我需要页面适合表格大小。跨度>
-
您不需要创建临时文档。如果您定义表格的宽度,您还可以定义它的总高度并使用它来定义页面大小。
-
我添加了一个答案,向您展示它是如何在不创建临时文档的情况下完成的。这将节省您的时间和 CPU。
标签: c# itextsharp