2017-07-27 34 views
0

我正在为UWP使用Xfinium.PDF创建一个PdfFlowDocument。我需要插入一个分页符,但仅当某个部分(包含段落和表格)不适合当前页面时才会插入分页符。这是一种“保持一致”的功能。Xfinium流文档中的分页符

我怎么能完成我的任务?

更新:我已经最小化的内容,我需要保持在一起只是一个表的数量。虽然它是一个流表,但我知道我需要将它转换为一个固定大小的表来计算它的高度。如果我能够在渲染所有流内容后找到页面上的当前位置,我将能够计算页面上剩余的空间。如果桌子有足够的空间,我会在页面上呈现它。如果没有,我会发出分页符并将其呈现在下一页上。

有一个特点呈现流内容后发现页面上的当前位置?

回答

0

你可以通过调用PdfFlowDocument.StartNewPage强制分页符。
公共API中不提供流内容的大小信息,如果内容对象符合当前可用空间,则无法在代码中进行测试。
我们将在下一个版本中支持此功能。

+0

这是个坏消息:(我有我的PDF文档签名部分,我需要保持它在一起。它可能无法跨越两页。我已经更新了我的问题。也许有一种变通方法。 – ata6502

+0

唯一的解决办法是在添加这个新的部分之前强制一个新的页面,不管它是否适合当前页面 –

+0

是否可以从PdfFlowDocument中移除一个流元素?如果是这样,这是一个可能工作的技巧:1)获取数字通过PdfFlowDocument.GetFixedDocument()。Pages.Count页面。 2)添加要保留的元素3)再次检查页数。如果相同,则在页面上留下添加的元素。如果页数增加,则意味着添加的元素跨越两页4)删除元素。 5)插入分页符6)再次添加元素。你认为它会起作用吗? – ata6502