我注意到当您将word文档剪切并粘贴到htmt文档中(特别是contenteditable
div(时,它包含大量元数据。我感兴趣的是一个JavaScript函数,它将把这个文本分页成与word文档中的"页面"一样多的div。
如果您不熟悉,以下是查看源代码时 Word 文档外观的缩写版本:
<div contenteditable="true" >
<!--[if gte mso 9]><xml>
<o:OfficeDocumentSettings>
<o:AllowPNG/>
</o:OfficeDocumentSettings>
</xml><![endif]-->
<!--lots more junk until get to actual content which is here:-->
<p class="Default">
<b><span style="font-size:14.0pt;font-family:Arial;color:windowtext">
I am the actual title of this work. <o:p></o:p></span>
</b>
</p>
如果不实际模拟单词呈现文本的方式,我不确定这是否可能。 据我了解,新页面的位置取决于每个页面上可以容纳多少内容。 除非您正在寻找物理分页符(可能位于此元数据中(,否则我不确定您是否可以找到实际页面的划分位置。
编辑
由于它似乎主要使用HTML之类的东西,因此您可以编写一个Javascript解决方案来操纵DOM进行渲染和高度计算。 它可以进行一种"二叉搜索",以确定给定页面上可以容纳多少元素。 当找到该数量的元素时,它可以放置它们并继续向后续页面添加元素。
再次编辑
以下是这种方法可能是什么样子的快速摆弄:
http://jsfiddle.net/LukeGT/Vtdgh/2/
请注意,这不会像普通文档那样破坏段落(这是一个相当复杂的过程(,而且我没有测试过这么多,所以肯定会有错误。 将此视为起点。 您还必须自己从文档中删除所有非HTML元素。 该脚本从#doc
div 读取,并将li
作为页面放置在页面底部的ul
中。 希望这有帮助。