我们正在使用Migradoc生成包含标题部分的PDF,以便在每个页面上显示标题。
标题中内容的高度可能会有所不同。我使用document.DefaultPageSetup.TopMargin
设置了正文内容的位置。但是,目前这是一个固定的最佳猜测'值。有时内容会更大,导致重叠。
我需要一种方法来计算标题的高度,以便我可以适当地设置document.DefaultPageSetup.TopMargin
值。
我为此假设,我将不得不两次通过 - 例如。生成PDF,检查渲染的标题高度,然后再次生成PDF,设置document.DefaultPageSetup.TopMargin
。
一旦我第一次渲染PDF,我就无法看到检查标题高度的方法。我注意到GetRenderInfoFromPage()
中有一个名为DocumentRenderer
的方法。这看起来像我想要的,除了它似乎不包括标题数据。如果在第一代PDF生成中,我只是在第一页上呈现标题而没有内容,那么GetRenderInfoFromPage(1)
将返回一个空数组。如果我在除1之外的任何其他页面上调用它,它将返回null
。
我们还使用PdfSharp
作为最后一行来添加水印。因此,如果我可以使用此查询标题高度,这可能也有用吗?我找不到这样做的方法。
是否有人知道是否可以查询呈现的标题高度?
答案 0 :(得分:1)
我使用我在问题中提到的方法工作,除了第一遍,我将标题内容渲染到正文而不是标题区域。这意味着DocumentRenderer.GetRenderInfoFromPage()
然后起作用。此过程仅用于计算标题内容高度。然后对于第二遍,它像往常一样将标题内容呈现到标题中。