首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用外部样式表将HTML导出为DocX

使用外部样式表将HTML导出为DocX
EN

Stack Overflow用户
提问于 2019-11-27 08:25:09
回答 1查看 605关注 0票数 0

我使用QuillJs来允许用户在我的项目中编辑文本,在我的web应用程序中实现它非常容易(我使用Laravel作为后端,HTML/CSS/JS作为前端),我想添加功能来导出自定义文本到Docx和PDF,但问题是,QuillJs使用外部样式表来构建编辑后的文本,所以当它被导出时,文本的某些部分不显示我尝试用PHPWord和Vanilla JavaScript导出的任何样式,这两个似乎都只允许内联样式。我的JS函数:

代码语言:javascript
运行
复制
const Foo = () => {
    var header = "<html xmlns:o='urn:schemas-microsoft-com:office:office' " +
            "xmlns:w='urn:schemas-microsoft-com:office:word' " +
            "xmlns='http://www.w3.org/TR/REC-html40'>" +
            "<head><meta charset='utf-8'>" +
            "<link type=\"text/css\" href=\"https://cdn.quilljs.com/1.3.6/quill.snow.css\" rel=\"stylesheet\">" +
            "</head><body>";
    var footer = "</body></html>";
    var body = document.querySelector('.ql-editor').innerHTML;
    var sourceHTML = header + body + footer;
    var source = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(sourceHTML);
    // console.log(source);
    var fileDownload = document.createElement("a");
    document.body.appendChild(fileDownload);
    fileDownload.href = source;
    fileDownload.download = 'document.doc';
    fileDownload.click();
    document.body.removeChild(fileDownload);
  }

你可以看到我已经尝试添加<link type=\"text/css\" href=\"https://cdn.quilljs.com/1.3.6/quill.snow.css\" rel=\"stylesheet\">了,那么,我的问题是,有没有一种方法可以用样式导出它,或者有另一个文本编辑器,但是用的是内联样式(开源plz)?

编辑1:我尝试添加了一个var style = (`<style> css ...</style>`)

EN

回答 1

Stack Overflow用户

发布于 2019-11-28 03:42:55

问题是,我已经用一种简单的方式解决了我的问题,改变了编辑器框架。我已经尝试了Froala EditorQuillJs,当我导出到Docx时它们都没有附带样式,所以我搜索了另一个,他们我找到了Summernote,一个具有内联样式的开源所见即所得编辑器,现在我可以导出我的Docx文件了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59061331

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档