假设我的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的其他解决方案!
提前谢谢。
答案 0 :(得分:0)
在您的简单示例中,您可以执行以下操作:
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 ...
当字符格式直接应用时,此方法将起作用,但在间接应用时则不会,例如通过字符样式。