首页 > 其他 > 详细

Djangoueditor(富文本) 纯文字提取及导出word实现下载

时间:2019-11-02 20:50:00      阅读:159      评论:0      收藏:0      [点我收藏+]

富文本在存储时是带有HTML代码的,因此在将富文本导出word文档时需要将富文本内容提取为纯文本

纯文字提取有两种方法推荐第二种

方法一:

后台导入包

from django.template.defaultfilters import striptags   #提取富文本文字
需要提取处调用
text = striptags(obj_wen.ued) #obj_wen.ued为富文本存储在数据库中的名
技术分享图片

                          原文本

技术分享图片

                   输出纯文本

通过对比,该方法可以提取纯文本但对英文过滤不佳
方法二
采用djangoueditor官方文档的方法
在富文本编辑页面在前端获取纯文本内容然后通过表单存入后台
function getPlainTxt() {
        text = UE.getEditor(‘id_content‘).getPlainTxt();   //获取富文本编辑器中纯文本
        //document.getElementById("wenben").innerHTML=text;
        $("#wenben").attr("value",text);  //赋值给value传入后台
    }
id_content为前端ueditor   id 可通过打开该页面按F12查看  如图:
技术分享图片
 

提取结果

技术分享图片

该方法基本完美解决英文纯文本提取,该方法需要注意在调用提取纯文字时需要在作者编辑完后开始,可写在表单提交时

导出为word并实现下载都一样

首先导入python word包

from docx import Document 
然后构建文档
    document = Document()  #docx函数
    document.add_heading(obj_wen.biaoti, 0)  #写入标题
    text = (obj_wen.textfield)  #数据库纯文本
    document.styles[‘Normal‘].font.name = u‘黑体‘   #字体格式黑体
    p = document.add_paragraph()    
    p.paragraph_format.alignment = WD_ALIGN_PARAGRAPH.CENTER  #居中
    run = p.add_run(text)     #写入文字
导入包实现下载文件名实现中文
from django.utils.http import urlquote   #中文文件名
    response = HttpResponse(content_type=‘application/octet-stream‘)   #缓存申明 octet-stream为文件类型
    response[‘Content-Disposition‘]=‘attachment;filename="%s.doc"‘% urlquote(obj_wen.biaoti)    #下载说明 文件名 
    document.save(response) #文件保存入缓存
    return response
前端调用即可实现下载
技术分享图片

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

希望对你有所帮助!

Djangoueditor(富文本) 纯文字提取及导出word实现下载

原文:https://www.cnblogs.com/ddb1-1/p/11783729.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!