在Django中生成MS Word文档

用户名

目前,我正在生成pdf格式的报告。但是现在我想以ms word或docx格式生成报告。

我的api.py文件

def export_pdf(request,id):
        report = Report.objects.get(id=id)                

        options1 = ReportPropertyOption.objects.filter(report=report,is_active=True)   
        locations = []  
        out_string = ""    
        map = None



        for option in options1:  
            option.property = get_property_name(option.property)        
            option.exterior_images = ReportExteriorImages.objects.filter(report = option)  
            option.interior_images = ReportInteriorImages.objects.filter(report = option)
            option.floorplan_images = ReportFloorPlanImages.objects.filter(report = option)
            option.fitouts =    ReportFitOut.objects.filter(propertyoption = option)   
            if (option.gps_longitude):

                locations.append("&markers=color:red|label:S|"+""+str(option.gps_longitude)+","+str(option.gps_latidtude)+"")
        for loc in locations:
            out_string+=loc

        if locations:
            map = "http://maps.google.com/maps/api/staticmap?center=Bangalore&zoom=12&size=512x512&maptype=roadmap"+out_string+"&sensor=true"              
        #map = "http://maps.google.com/maps/api/staticmap?zoom=12&size=400x400&maptype=roadmap&sensor=false&center=\\"
        html  = render_to_string('report/export.html', { 'pagesize' : 'A4', }, context_instance=RequestContext(request,{'options1':options1,'meta':report.meta,'map':map}))

        result = StringIO.StringIO()       
        pdf = pisa.pisaDocument(StringIO.StringIO(html.encode("UTF-8")), dest=result, link_callback=fetch_resources )        
        #pdf = Docx(StringIO.StringIO(html.encode("UTF-8")), dest=result, link_callback=fetch_resources )
        if not pdf.err:
            return result
        else:
            return None

我得到结果中的所有数据,然后将该数据导出为pdf。但是现在我想将数据导出为docx或MS word格式。同样的结果我想导出为docx格式。由于我以pdf格式获取数据,因此我不想将导出的pdf转换为docx。我想直接在docx中导出。我尝试使用python-docx,但无法弄清楚如何以docx格式导出。谁能指导我如何做到这一点。我应该在Django中使用哪个模块。请帮我

抢劫

这是我从Django视图中生成docx文件的方式:

from docx import *
from docx.shared import Inches

def TestDocument(request):

    document = Document()
    docx_title="TEST_DOCUMENT.docx"
    # ---- Cover Letter ----
    document.add_picture((r'%s/static/images/my-header.png' % (settings.PROJECT_PATH)), width=Inches(4))
    document.add_paragraph()
    document.add_paragraph("%s" % date.today().strftime('%B %d, %Y'))

    document.add_paragraph('Dear Sir or Madam:')
    document.add_paragraph('We are pleased to help you with your widgets.')
    document.add_paragraph('Please feel free to contact me for any additional information.')
    document.add_paragraph('I look forward to assisting you in this project.')

    document.add_paragraph()
    document.add_paragraph('Best regards,')
    document.add_paragraph('Acme Specialist 1]')
    document.add_page_break()

    # Prepare document for download        
    # -----------------------------
    f = StringIO()
    document.save(f)
    length = f.tell()
    f.seek(0)
    response = HttpResponse(
        f.getvalue(),
        content_type='application/vnd.openxmlformats-officedocument.wordprocessingml.document'
    )
    response['Content-Disposition'] = 'attachment; filename=' + docx_title
    response['Content-Length'] = length
    return response

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

MS Word文档中的变量

来自分类Dev

使用模板生成Word文档

来自分类Dev

从目录列表生成Word文档

来自分类Dev

C# Word VSTO:在“背景”中生成一个 word 文档作为文件?

来自分类Dev

断开与外部文档MS Word的链接

来自分类Dev

将外壳输出写入MS Word文档

来自分类Dev

MS Word-在页面中间滚动文档?

来自分类Dev

向MS Word文档添加注释

来自分类Dev

跳到MS Word文档中的某个部分

来自分类Dev

MS Word VBA:获取文档的附件模板

来自分类Dev

使用Flask生成Word文档吗?

来自分类Dev

根据单词列表从Word文档生成索引

来自分类Dev

如何修复 Java2Word 生成的 ms-word 文档中的错误

来自分类Dev

使用PHP在服务器的文件系统中生成Word文档

来自分类Dev

Excel-从Word模板文档生成输出Word文件

来自分类Dev

在宏中生成文档

来自分类Dev

如何将一个 Word 文档中的表格和图形链接到 MS Word 中的单独 Word 文档

来自分类Dev

MS-Word文档附录中的图形标题处理方法

来自分类Dev

将新的xml属性插入MS Word xml文档元素

来自分类Dev

MS Word函数可将范围附加到文档

来自分类Dev

使用Aspose以编程方式编辑MS Word文档

来自分类Dev

使用Go OLE绑定创建MS Word文档

来自分类Dev

MS Word 2007中的文档结构图

来自分类Dev

尝试保存文档时,MS Word进入只读模式

来自分类Dev

使用webdav和asp .net mvc打开MS Word文档

来自分类Dev

MS Word比较文档:如何重置最近的文件列表

来自分类Dev

MS Word文档中的“打印布局”按钮被禁用

来自分类Dev

为什么MS Word更改文档中的字符间距?

来自分类Dev

如何调整MS Word文档中的多个图像大小?