是否可以使用django创建和/或编辑MS Word和Word Perfect文档?我希望能够允许用户填写表单并将表单字段插入到MS Word / Word Perfect文档中。或者,表单域用于创建新的MS Word / Word Perfect文档。然后,用户可以通过电子邮件将该文档发送给可能无法访问django web-app的其他人。
我有一位需要此功能的客户,我希望将其全部保存在网络应用中。
有什么想法吗?
谢谢!
答案 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')