我想克隆docx文件的所有样式和路线。这是我的代码:
import docx
from docx import Document
doc = docx.Document('my_word_file.docx')
allText = []
for docpara in doc.paragraphs:
allText.append((docpara.text).replace('a' ,'s')
mydoc = docx.Document()
mydoc.add_paragraph(allText)
mydoc.save("cloned.docx")
所以我正在修复一些错误,文件正在保存,但没有样式或选项卡或输入。如何保持更改和样式?
发布于 2021-01-29 22:47:42
我认为方法是编写自己的函数来复制每个段落的文本和样式。下面是你可以做的第一个实现:
from docx import Document
def copy_paragraph(output_doc, paragraph):
output_paragraph = output_doc.add_paragraph()
# Alignment data of whole paragraph
output_paragraph.paragraph_format.alignment = paragraph.paragraph_format.alignment
for row in paragraph.runs:
output_row = output_paragraph.add_run(row.text)
# Font data
output_row.style.name = row.style.name
# Size of font data
output_row.font.size = row.font.size
# Bold data
output_row.bold = row.bold
# Italic data
output_row.italic = row.italic
# Underline data
output_row.underline = row.underline
# Color data
output_row.font.color.rgb = row.font.color.rgb
doc = Document('my_word_file.docx')
mydoc = Document()
for paragraph in doc.paragraphs:
copy_paragraph(mydoc, paragraph)
mydoc.save("cloned.docx")
我不排除可能有其他参数需要复制(例如,文本的突出显示等)。在这种情况下,我建议您做一些测试,并参考编写得很好的docx documentation。
https://stackoverflow.com/questions/65956300
复制相似问题