2012-05-08 32 views
2

MSWORD文档中的文本,当您剪切和粘贴一个Word文档到文档HTMT(具体为contenteditable格)我注意到它包含了很多的元数据。我感兴趣的是一个JavaScript函数,可以将这些文本分页成多个div,因为它们是word文档中的“页面”。分页与JavaScript

如果你不熟悉,这里的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"> 
      &nbsp;I am the actual title of this work. <o:p></o:p></span> 
     </b> 
    </p> 

回答

2

我不知道这是可能的,而不实际模拟这个词呈现方式文本。就我的理解而言,新页面的位置取决于每个页面上可放置多少内容。除非您正在寻找物理分页符(可能能够位于此元数据中),否则我不确定您是否可以找到实际分页的位置。

编辑

因为它似乎是使用HTML大多有点东西,这是可能的,你可以写一个JavaScript的解决方案,操纵DOM做渲染和高度计算。它可以进行一种'二分查找'来确定在给定页面上可以容纳多少个元素。当找到这些元素时,它可以放置它们并继续向后续页面添加元素。

再次编辑

这里是什么这样的做法可能看起来像一个快速的小提琴:

http://jsfiddle.net/LukeGT/Vtdgh/2/

注意,这不破段落像一个正常的文件应该(这是一个相当复杂的过程),并且我没有测试过这么多,所以肯定会出现错误。认为这是一个起点。您还必须自己删除文档中的所有非HTML元素。该脚本从#doc DIV读取,并把li的是在页面的底部的ul页面。希望这可以帮助。

+0

谢谢,是的解决方案可能是基于字符数或一些元数据标签,不知道... –

+0

嗨@LukeGT,感谢您的进一步解释,我想我的概念理解,而不是代码的外观,你可以对此采取一些措施吗? –

+1

当然,看看我的编辑快速模拟 – LukeGT