创建/编辑MS Word& Django中的Word完美文档?

时间:2011-06-24 15:08:44

标签: django ms-word wordperfect

是否可以使用django创建和/或编辑MS Word和Word Perfect文档?我希望能够允许用户填写表单并将表单字段插入到MS Word / Word Perfect文档中。或者,表单域用于创建新的MS Word / Word Perfect文档。然后,用户可以通过电子邮件将该文档发送给可能无法访问django web-app的其他人。

我有一位需要此功能的客户,我希望将其全部保存在网络应用中。

有什么想法吗?

谢谢!

2 个答案:

答案 0 :(得分:0)

我不知道怎么做你要求的,但我建议你也考虑用Django创建PDFs。如果您只想以特定格式发送信息,那么PFD可能会更好,因为它在整个平台上更具可移植性。您可能还想查看this documentation如何从Django发送电子邮件。

答案 1 :(得分:0)

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

conda install lxml
pip install docx-mailmerge

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

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

在“字段”对话框中,从“字段名称”列表中选择“MergeField”选项。在“字段名称”中,输入字段所需的名称。在这种情况下,我们使用的是商业名称。 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