vue中将html代码转换成word文档并下载,其中生成的word文档需要带有分页符,该如何设置?

需求是将一串 html 代码转换成 word 文档并下载,其中生成的 word 文档需要有分页符。我设置的属性是 page-break-after: always,这样写生成的 pdf 后缀的文件可以带有分页符。但是 word 文件不行。有没有大神能指点一下


回答:

这个需求最好还是后端来做,虽说现在前端也能实现,但是能提供的功能太 局限

首先是题主提到的 page-break-after: always;,MDN已经给出了答案 原文

Warning: This property has been replaced by the break-after property.

但是它的替代品,break-after 的兼容性依旧很遭

vue中将html代码转换成word文档并下载,其中生成的word文档需要带有分页符,该如何设置?

这两种方法,我都没有得到满意的结果,有传闻 Open XML 好使,我也尝试过

<w:p> 

<w:r>

<w:br w:type="page"/>

</w:r>

</w:p>

依旧没有生成分页符(当然 open xml 确实强大,下面几个框架基本都是基于它开发的)

而且这块文档非常稀少,即便在github上,支持 html2docx 的 js 框架也寥寥无几,而且那几个实现的功能也很局限;但后端支持的就强大多了,java 的 Apache POI(也有 py 和 c# 版本) ,python 的 python-docx 都可以相对高度操作 docx

如果非要用 js 实现,那也是用 node.js 的 docxtemplater服务端 实现,而不是通过css的 page-break-after 或者 break-after 属性

参考地址
node.js docxtemplater
java apache POI
python python-docx

综上,基于兼容性和功能性考虑,都不建议在前端转换,这类需求应该交给后端在 服务端 转换

以上是 vue中将html代码转换成word文档并下载,其中生成的word文档需要带有分页符,该如何设置? 的全部内容, 来源链接: utcz.com/p/934582.html

回到顶部