2016-10-17 103 views
0

目的: 我使用了一个word模板,我想从python传递段落值。Word文档到python-docx

管道: 该管道涉及使用python-docx并将输出段落发送到python docx;因此创建一个docx文件。

from docx import Document 
from docx.shared import Inches 
document = Document() 
document.add_heading('Document Title', 0) 
r = """sample paragraph""" 
p = document.add_paragraph(r) 
document.add_page_break() 
document.save('Test.docx') 

问:

我已经得到了我想要使用一个样本模板,是有可能创造使用python-DOCX,并继续进行内容过滤模板的蓝图?

通过蓝图,我的意思是节的页眉,页脚,边距,间距等等,必须自动保存或以python-docx格式编码。以便我可以将样本段落发送到相关部分。

如果我需要使用另一个作为基础创建一个模板;我相信,我需要在python-docx中再次对代码段,边距和样式进行硬编码。有没有办法环绕这条工作路线?

回答

1

我认为你会发现最有用的方法是在你的模板文档中定义段落样式,它包含你想要的不同类型段落(标题,正文段落等)的段落和字符格式,然后在添加它时为每个段落应用正确的样式。

http://python-docx.readthedocs.io/en/latest/user/styles-understanding.html
http://python-docx.readthedocs.io/en/latest/user/styles-using.html

你仍然需要从 “顶” 写入文件到 “底”。如果项目没有按顺序到达,您可能希望将它们组织在内存数据结构中,直到将它们全部包含在内,然后从该数据结构中写入文档。

有办法解决这个问题,但是python-docx(还没有)中没有“游标”的概念,你可以在任意位置插入段落。

+0

谢谢。将查看链接。 –