Djangoueditor(富⽂本)纯⽂字提取及导出word实现下载富⽂本在存储时是带有HTML代码的,因此在将富⽂本导出word⽂档时需要将富⽂本内容提取为纯⽂本
纯⽂字提取有两种⽅法推荐第⼆种
⽅法⼀:
后台导⼊包
plate.defaultfilters import striptags  #提取富⽂本⽂字
需要提取处调⽤
text = striptags(obj_wen.ued) #obj_wen.ued为富⽂本存储在数据库中的名
原⽂本html富文本框
输出纯⽂本
通过对⽐,该⽅法可以提取纯⽂本但对英⽂过滤不佳
⽅法⼆
采⽤djangoueditor官⽅⽂档的⽅法
在富⽂本编辑页⾯在前端获取纯⽂本内容然后通过表单存⼊后台
function getPlainTxt() {
text = UE.getEditor('id_content').getPlainTxt();  //获取富⽂本编辑器中纯⽂本
//ElementById("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 = (field)  #数据库纯⽂本
#text = striptags(obj_wen.ued)  #此为⽅法⼀  obj_wen.ued 为需要导出的ueditor在数据库存储的内容
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
前端调⽤即可实现下载
希望对你有所帮助!

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。