是否可以使用django创建和/或编辑MS Word和Word Perfect文档?我希望能够允许用户填写表格,并将表格字段插入到MS Word/Word Perfect文档中。或者,表单字段用于创建新的MS Word/Word Perfect文档。然后,用户可以通过电子邮件将该文档发送给其他可能无法访问django网络应用程序的人。
我有一个客户需要这个功能,我想把它都放在网络应用程序中。
有什么想法吗?
谢谢!
对于MS Word,您可以使用docx-mailmerge。运行以下命令来安装lxml(docx-mailmerge需要dependency)和docx-mail合并
conda install lxml
pip install docx-mailmerge
为了使docx-mailmerge正常工作,您需要创建一个标准的Word文档并定义适当的合并字段。以下示例适用于Word 2010。Word的其他版本应该类似。事实上,我花了一段时间才弄清楚这个过程,但一旦你做了几次,它就很简单了。
启动Word并创建基本文档结构。然后将光标放在应插入合并数据的位置,然后选择"插入"->"快速零件"->"字段"。: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
我不知道如何做到你所要求的,但我建议你也考虑用Django创建PDF。如果你只想以特定的格式发送信息,那么PFD可能会更好,因为它更易于跨平台移植。你可能还想看看这个文档,了解如何从Django发送电子邮件。