1

Is it possible to create and/or edit MS Word and Word Perfect documents with django? I'd like to be able to allow the user to fill out a form and have the form fields inserted into an MS Word/Word Perfect document. Or, the form fields are used to create a new MS Word/Word Perfect document. The user can then send that document via email to others who may not have access to the django web-app.

I have a client who needs this functionality and I'd like to keep it all within the web-app.

Any ideas?

Thanks!

4

2 回答 2

1

对于 MS Word,您可以使用 docx-mailmerge。运行以下命令安装 lxml(docx-mailmerge 所需的依赖项)和 docx-mailmerge

conda install lxml
pip install docx-mailmerge

为了使 docx-mailmerge 正常工作,您需要创建一个标准 Word 文档并定义适当的合并字段。以下示例适用于 Word 2010。其他版本的 Word 应类似。实际上我花了一段时间才弄清楚这个过程,但是一旦你做了几次,它就很简单了。

启动 Word 并创建基本文档结构。然后将光标放在要插入合并数据的位置,选择插入->快速部件->字段..:Word快速部件

在“字段”对话框中,从“字段名称”列表中选择“合并字段”选项。在字段名称中,输入您想要的字段名称。在这种情况下,我们使用的是企业名称。Word 添加字段

单击确定后,您应该会在 Word 文档中看到如下内容:<>。您可以继续创建包含所有必需字段的文档。

    from __future__ import print_function
    from mailmerge import MailMerge
    from datetime import date

    template = "Practical-Business-Python.docx"
    document = MailMerge(template)

    document.merge(
    status='Gold',
    city='Springfield',
    phone_number='800-555-5555',
    Business='Cool Shoes',
    zip='55555',
    purchases='$500,000',
    shipping_limit='$500',
    state='MO',
    address='1234 Main Street',
    date='{:%d-%b-%Y}'.format(date.today()),
    discount='5%',
    recipient='Mr. Jones')

    document.write('test-output.docx')

更多信息请访问http://pbpython.com/python-word-template.html

于 2017-07-05T06:30:06.403 回答
0

我不知道如何完全按照您的要求做,但我建议您也考虑使用 Django创建PDF 。如果您只想以特定格式发送信息,那么 PFD 可能会更好,因为它更易于跨平台移植。您可能还想查看此文档以了解如何从 Django 发送电子邮件。

于 2011-06-24T15:19:47.727 回答