获取文档对象
from docx import Document
doc = Document('file_path')
获取章节信息
# 获取所有章节
sections = doc.sections
print(sections) # <docx.section.Sections object at 0x000000000B2E1148>
# 查看章节数量
print(len(sections))
通过使用章节对象可以实现对章节中页面大小页眉页脚的设置,段落也遵守章节设置。
获取文档页边距等信息
sec_0 = sections[0]
sec_0.left_margin # 左边距
sec_0.right_margin # 右边距
sec_0.top_margin # 上边距
sec_0.bottom_margin # 下边距
sec_0.header_distance # 页眉边距
sec_0.footer_diatance # 页脚边距
sec_0.orientation # 页面方向
sec_0.page_height # 页面高度
sec_0.page_width # 页面宽度
获取word文档所有的段落对象
# 获取文档所有的段落对象
paragraphs = doc.paragraphs
# paragraphs获取的是word文档中所有段落对象的列表list准确的说是word文档中正文部分的段落对象列表。
# 正文部分如表格、页面页脚等也包含paragraph对象。 而doc.paragraphs中并不含有这些段落对象。
获取段落对象中的文字信息
par0 = paragraphs[0]
# 文本字符串
par0_string = par0.test
获取文字格式信息
paragraph对象里还有run对象,run对象包含了对象的**文字信息**。与此同时,paragraph.text方法也是通过run对象的方法获取文字信息。
paragraph方法源码:
def text(self):
text = ''
for run in self.runs:
text += run.text
return text
获取文字格式信息
par[0].run[0].font.name # 字体名称
par[0].run[0].font.size # 字体大小
par[0].run[0].font.bold # 字体是否加粗
par[0].run[0].font.italic # 字体是否斜体
par[0].run[0].font.color.rgb # 字体颜色
par[0].run[0].font.highlight_color # 字体高亮
par[0].run[0].font.underline # 字体下划线
par[0].run[0].font.strike # 删除线
par[0].run[0].font.double_strike # 双删除线
par[0].run[0].font.subscript # 下标
par[0].run[0].font.superscript # 下标