当前位置: 首页 > 知识库问答 >
问题:

将段落复制到同一文档中(Python3.x,docx)

闻人越
2023-03-14

假设我的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的其他解决方案<提前谢谢。

共有1个答案

亢嘉茂
2023-03-14

在这个简单的例子中,您可以这样做:

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 ...

这种方法在直接应用字符格式时有效,但在间接应用(例如通过字符样式)时无效。

 类似资料:
  • 假设我有两份文件。 一个是有大约2-3页的主模板。第二个只有一段文字与各种风格(粗体,斜体,下划线,字体大小等)。 我想用第二个文档中的段落替换模板中的一个参数。 null

  • 我想让(start)中的文本成为文档中另一个具体(end)的超链接。我发现了一个在中制作超链接的代码,但它不起作用(启动链接开始):

  • 我试图用Apache POI将一定数量的段落从ms word文件复制到一个新文件中。虽然我复制段落样式没有问题,但我不能将内联字符样式转移到新文件中,如何获得字符样式并将其应用到新的新文档中?

  • 我有一个从Excel生成文档的代码。一方面,我有一个需要填充标记的文档,以生成与Excel中的行一样多的文档。另一方面,我有一个Excel,它在一行中有这个标记,并在Excel的每一行中填写Word文档中要填写的信息。 代码在只有文本和标签的普通文档中工作正常,但是当文档包含填充有文本的表时,它就不工作了... 这些是Excel和文档的一些图像... 带标签的Excel 普通文件 带表格的文件 这

  • 我有这个问题。但我很难解释,因为我不知道确切的术语。希望有人能理解。我会尽力描述。我觉得这与

  • 我已经很多年没有使用VB了,所以如果这是显而易见的,请原谅我。我正在尝试编写一个word vba宏,以便在模板中使用,该模板将显示一个userform,然后导入fileA的内容。docx,fileB。docx或fileC。docx取决于用户表单。(之后我将使用书签填写一些表单数据,我不知道这是否相关)。文件A、B和C将包含一些基本格式(如列表)的文本,但没有什么特别之处。 我在网上看到的解决方案可