我正在对word文档进行一些开放的xml操作。
它有几个sdt内容,都包含在sdt块中。
我每次需要时都以编程方式复制粘贴sdt块。
问题是,我没有成功将sdt块保留在一个页面上。
我尝试将单词样式直接添加到sdt块中,但这不起作用。
条件是:
一个sdt块必须完全在同一页面上。
经过大量搜索,我找不到符合我需要的解决方案。只有一个段落的解决方案,而不是包含sdt内容的sdt块,这是不同的。
如果可能的话:它一定是单词吗?在c#代码中?
答案 0 :(得分:1)
除了James提出的建议之外,您还可以通过设置段落格式选项来控制Word如何布局页面。在您的情况下相关的是KeepWithNext(在同一页面上保持连续的段落)和KeepTogether(在同一页面上保留单个段落的内容)。
请注意,如果单个页面的内容太长,则选项根本不起作用。因此,确保“块”的最后一段不是格式化为KeepWithNext。
非常重要在Open XML SDK中,这是KeepNext类,对应于w:keepNext https://msdn.microsoft.com/en-us/library/documentformat.openxml.wordprocessing.keepnext(v=office.14).aspx
KeepLines类(w:keepLines):https://msdn.microsoft.com/en-us/library/documentformat.openxml.wordprocessing.keeplines(v=office.14).aspx
两者都是段属性(w:pPr)元素的子元素。
答案 1 :(得分:0)
在ooxml中没有太多定义页面的内容,它是一个流动的文档和单词在它打开时将其分页,因为它认为是最好的,假设你的块适合单个页面(页面大小,边距,等等)。您保证自己获取页面的唯一方法是