【发布时间】:2016-06-02 16:29:28
【问题描述】:
我们正在使用 Migradoc 生成包含标题部分的 PDF,以便标题显示在每个页面上。
但标题中内容的高度可能会有所不同。我正在使用document.DefaultPageSetup.TopMargin 设置正文内容的位置。然而,这目前是一个固定的“最佳猜测”值。有时内容较大,导致重叠。
我需要一种方法来计算标题的高度,以便我可以适当地设置document.DefaultPageSetup.TopMargin 值。
我假设为此,我必须分两次完成 - 例如。生成 PDF,检查呈现的标题高度,然后再次生成 PDF,设置 document.DefaultPageSetup.TopMargin。
不过,在我第一次渲染 PDF 后,我看不到检查标题高度的方法。我注意到DocumentRenderer 中有一个名为GetRenderInfoFromPage() 的方法。这看起来像我想要的,只是它似乎不包含标题数据。如果在第一个 PDF 生成中,我只是在第一页上呈现标题而没有内容,则 GetRenderInfoFromPage(1) 返回一个空数组。如果我在 1 以外的任何其他页面上调用它,它会返回 null。
我们还使用PdfSharp 作为最后一道添加水印。因此,如果我可以使用它来查询标题高度,那可能也可以吗?不过我也找不到这样做的方法。
有人知道是否可以查询渲染的标题高度吗?
【问题讨论】:
标签: c# pdf pdf-generation pdfsharp migradoc