WPF RichTextBox Flowdocment如何实现自动分页?

来源:互联网 时间:1970-01-01


需求说明:在不需要Office组件的前提下,利用WPF展现技术、OpenXMLSDK实现Word文档的新建、编辑,只保留基本功能即可,最重要的是要能够根据内容实现自动分页,也要支持手动分页;

最开始,从实现角度考虑,WPF+RichTextBox展现,然后内容通过FlowDocment.Load来加载Word文档,先来看下效果:

 那么问题来了,界面中只有一个RichTextBox控件,展示的时候怎么进行分页显示,类似Office Word窗口效果一样呢?怎么实现?

我们都知道Office2007之后的版本采用的是XML结构化存储,所以查阅相关MSDN以及OpenXMLSDK说明,用于标识Word文档分页的标签是:lastRenderedPageBreak

暂且将lastRenderedPageBreak该标签记住,接下来就是分析文档的属性,如标题、总页数、总字节数、总长度、作者等等,可以获取很多属性,下一步我的思路是这样的:利用ListView嵌套RichTextBox,ListView中元素的个数由总页数来决定,如当前文档有5页,则创建5个ListViewItem;具体困难的是如何将Word文档中的内容按页的方式提取出来,记录该博客,留待日后解决这个问题,也欢迎爱好者提供相关的思路,感激不尽;



相关阅读:
Top