我注意到当你将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>
答案 0 :(得分:2)
如果没有实际模仿单词呈现文本的方式,我不确定是否可行。根据我的理解,新页面的位置取决于每页可以容纳多少内容。除非您正在寻找物理分页符(可能位于此元数据中),否则我不确定您是否可以找到实际页面的分割位置。
修改强>
由于它似乎主要使用HTML类型的东西,因此您可以编写一个Javascript解决方案来操作DOM来进行渲染和高度计算。它可以进行一种“二分搜索”来确定给定页面上可以容纳多少元素。当找到该数量的元素时,它可以放置它们并继续向后续页面添加元素。
再次编辑
以下是这种方法看起来很简单的一个小问题:
http://jsfiddle.net/LukeGT/Vtdgh/2/
请注意,这不会像正常文档那样破坏段落(这是一个相当复杂的过程),而且我没有测试过这么多,所以肯定会有bug。把它想象成一个起点。您还必须自己从文档中删除所有非HTML元素。该脚本从#doc
div读取,并将li
作为页面放在页面底部的ul
中。希望这可以帮助。