其他分享
首页 > 其他分享> > Djangoueditor(富文本) 纯文字提取及导出word实现下载

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

作者:互联网

富文本在存储时是带有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 前端调用即可实现下载

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

希望对你有所帮助!

标签:document,Djangoueditor,text,纯文字,提取,wen,obj,word,文本
来源: https://www.cnblogs.com/ddb1-1/p/11783729.html