正在做的项目中需要将HTML转为Word文档(此处先不管是doc还是docx,因为经过测试此方法针对二者都有效),但是遇到了一个问题:有些内容需要另起一页,即插入分页符。网上搜索得到的答案是要分页的地方插入一行代码:
<div style='page-break-after:always;'></div>
但是注意,经过测试,此行代码仅对转PDF文档有效。在Edge浏览器内核下转为Word文档后并不能实现分页,并且doc和docx解析结果也是不一样的。(doc只是换行了,docx则是鬼畜了)
绞尽脑汁想了一天后,恍然大悟,通过反向思维,我首先建立一个Word文档,然后插入分页符,再将其另存为HTML文件,打开后发现其分页符是这样写的:
<span lang=EN-US style='font-size:10.5pt;font-family:等线'><br clear=all
style='page-break-before:always'>
</span>
精简一下,就是最外侧必须套一层<span>标签!
所以我们的分页符最终可以这么写:
<span><br clear=all style = 'page-break-before:always' ></span>
此问题解决,doc和docx通用,但注意,这么写的话如果转PDF则是不能正确解析的,如需转PDF只需正常像网上所说用div的方法就OK。