复制一段到同一个文档中(python 3.x, docx)
Copy a paragraph into the same document(python 3.x, docx)
假设我的 docx 文档中有一段特定的文本格式,例如:
"Foo bar"
我想制作类似这段话的模板,多次复制到同一个文档中。
像示例中那样复制文本意味着丢失文本格式。
from docx import Document
document = Document('input.docx')
template = document.paragraphs[0]
for x in range(100):
document.add_paragraph(template.text)
document.save('output.docx')
有什么通用的方法可以用 python-docx 库来实现吗?
python 和 django 的其他解决方案也很受欢迎!
提前致谢。
在您的简单示例中,您可以这样做:
def clone_run_props(tmpl_run, this_run):
this_run.bold = tmpl_run.bold
... maybe other possible run properties ...
template_paragraph = ... however you get this ...
new_paragraph = document.add_paragraph()
for run in template_paragraph:
cloned_run = new_paragraph.add_run()
clone_run_props(run, cloned_run)
cloned_run.text = ... however you get this ...
这种方法在直接应用字符格式时有效,但在间接应用时无效,例如通过字符样式。
假设我的 docx 文档中有一段特定的文本格式,例如:
"Foo bar"
我想制作类似这段话的模板,多次复制到同一个文档中。
像示例中那样复制文本意味着丢失文本格式。
from docx import Document document = Document('input.docx') template = document.paragraphs[0] for x in range(100): document.add_paragraph(template.text) document.save('output.docx')
有什么通用的方法可以用 python-docx 库来实现吗?
python 和 django 的其他解决方案也很受欢迎!
提前致谢。
在您的简单示例中,您可以这样做:
def clone_run_props(tmpl_run, this_run):
this_run.bold = tmpl_run.bold
... maybe other possible run properties ...
template_paragraph = ... however you get this ...
new_paragraph = document.add_paragraph()
for run in template_paragraph:
cloned_run = new_paragraph.add_run()
clone_run_props(run, cloned_run)
cloned_run.text = ... however you get this ...
这种方法在直接应用字符格式时有效,但在间接应用时无效,例如通过字符样式。