标签:document Djangoueditor text 纯文字 提取 wen obj 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
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。