自动化处理Word文档
使用Python实现Word文档的自动化处理,包括批量生成Word文档、在Word文档中批量进行查找和替换、将Word文档批量转换成PDF等。
1. 批量生成Word文档
- 安装openpyxl模块
pip install openpyxl
- 安装python-docx模块
pip install python-docx
openpyxl模块可以读写扩展名为.xlsx/.xlsm/.xltx/.xltm的Excel文件。
python-docx模块可以读写扩展名为.docx的Word文档,但不能处理扩展名为.doc的Word文档。
import re from docx.enum.table import WD_CELL_VERTICAL_ALIGNMENT, WD_TABLE_ALIGNMENT from openpyxl import load_workbook from docx import Document def info_update(doc, old_info, new_info): """ 文档内容替换 :param doc: Word模板文档 :param old_info: 源文本 :param new_info: 新文本 :return: """ # 遍历Word文档中的所有段落 for para in doc.paragraphs: # 遍历每个段落中的run对象 for run in para.runs: # 替换run对象的文本内容 # run.text = run.text.replace(r'《'+old_info+'》', new_info) run.text = run.text.replace(old_info, new_info) run.text = re.sub(r'[《》]', '', run.text) # 遍历Word文档中的所有表格 for table in doc.tables: # 遍历表格中的所有行 for row in table.rows: # 遍历行中的所有单元格 for cell in row.cells: # 替换单元格内容 cell.text = cell.text.replace('《' + old_info + '》', new_info) # 设置表格中的内容居中显示 # 计算表格的rows和cols的长度 rows = len(table.rows)