Python中如何实现Word文档段落倒序排版?
Python中如何实现Word文档段落倒序排版?
1 回复
from docx import Document
from docx.enum.text import WD_PARAGRAPH_ALIGNMENT
def reverse_paragraphs(input_path, output_path):
"""
将Word文档的所有段落顺序完全倒置
"""
# 读取原文档
doc = Document(input_path)
paragraphs = doc.paragraphs
# 创建新文档
new_doc = Document()
# 倒序复制段落(保留原格式)
for para in reversed(paragraphs):
new_para = new_doc.add_paragraph()
# 复制文本和格式
for run in para.runs:
new_run = new_para.add_run(run.text)
new_run.bold = run.bold
new_run.italic = run.italic
new_run.underline = run.underline
new_run.font.name = run.font.name
new_run.font.size = run.font.size
# 复制段落格式
new_para.alignment = para.alignment
new_para.paragraph_format.left_indent = para.paragraph_format.left_indent
new_para.paragraph_format.first_line_indent = para.paragraph_format.first_line_indent
new_para.paragraph_format.line_spacing = para.paragraph_format.line_spacing
# 保存新文档
new_doc.save(output_path)
print(f"段落倒序完成,已保存至: {output_path}")
# 使用示例
if __name__ == "__main__":
reverse_paragraphs("input.docx", "output_reversed.docx")
核心要点:
- 使用
python-docx库操作Word文档 reversed(paragraphs)实现段落倒序- 逐段复制时需同时复制文本和格式属性
- 运行前需安装:
pip install python-docx
一句话建议: 记得处理空段落和表格等特殊情况。

