python-docx处理Word必备工具是什么
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章主要讲解了"python-docx处理Word必备工具是什么",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"python-docx处理Word必
千家信息网最后更新 2026年11月03日python-docx处理Word必备工具是什么
这篇文章主要讲解了"python-docx处理Word必备工具是什么",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"python-docx处理Word必备工具是什么"吧!
我的理解
为什么会用到python-docx,因为近段时间下载了大量网文,但格式都是html的,我个人习惯使用word处理文字,于是就想法设法把html文档转换为word,首先要考虑的问题就是从html中提取的文字怎么存word里呢,之前用了pandoc直接转换,带转换后的效果太不理想,没什么格式,不符合我这种对word格式有严格要求强迫症人的需要,于是就到处搜寻其他方法,终于功夫不负有心人,通过几天研究python-docx,感觉很适合我,就一边分析html文档,一边思考怎么用python-docx存想要的格式word,因为我的word排版,一般习惯 页面要设置成5678页边距的,大小A4的,正文主标题 方正小标宋,其他标题要么黑体,要么加粗,正文要首行缩进2字符 仿宋_GB2312,页脚要加页码显示,大概这些样式。
安装库:
pip install python-docx
用到的库
from docx import Document(文档读写)from docx.shared import Pt,Cm,Inches (字体大小,不一定全用到)from docx.oxml.ns import qn(设置字体格式,分栏等用到)from docx.shared import RGBColor (设置字体颜色)from docx.enum.text import WD_ALIGN_PARAGRAPH (设置对其方式)from docx.enum.section import WD_ORIENTATION (纸张方向用到)
设置大致格式
这样设置完了之后有一个好处就是,后往里面写入文档的时候回自动按这个格式,如果有需要改动的再单独写入时改。
docment = docx.Document(docx_tamplate) # 读取模板文档,这里可以不用模板文档,因为python-docx没法设置页码,所以我先建了一个有页码的空白文档作为模板文档# 设置正文默认格式# 字体大小三号字(16)docment.styles['Normal'].font.size = Pt(16)# 字体仿宋_GB2312docment.styles['Normal'].font.name = u'仿宋_GB2312'docment.styles['Normal']._element.rPr.rFonts.set(qn('w:eastAsia'), u'仿宋_GB2312')# 行间距 28磅 段前、段后不留空docment.styles['Normal'].paragraph_format.line_spacing = Pt(29)docment.styles['Normal'].paragraph_format.space_before = Pt(0)docment.styles['Normal'].paragraph_format.space_after = Pt(0)# 首行缩进2字符docment.styles['Normal'].paragraph_format.first_line_indent = 406400# 关闭孤行控制docment.styles['Normal'].paragraph_format.widow_control = False# 设置页面大小docment.sections[0].page_height = Cm(29.7) # 设置A4纸的高度docment.sections[0].page_width = Cm(21) # 设置A4纸的宽# 设置页边距docment.sections[0].top_margin = Cm(3.7)docment.sections[0].bottom_margin = Cm(3.4)docment.sections[0].left_margin = Cm(2.8)docment.sections[0].right_margin = Cm(2.6)单独设置段格式
doc=Document() #创建一个空白文档p1=doc.add_paragraph() #初始化建立一个自然段p1.alignment=WD_ALIGN_PARAGRAPH.CENTER #对齐方式为居中,没有这句话默认左对齐。另外右对齐:RIGHT,两端对齐:JUSTIFY,分散对齐:DISTRIBUTE p1.paragraph_format.line_spacing=1.5 #设置该段落,行间距为1.5倍,也可以像上面设默认值那样用Pt单位来设置p1.paragraph_format.first_line_indent=Inches(0.5) #段落缩进0.5英寸,我还是习惯设置2字符 值为:406400p1.paragraph_format.left_line_indent=Inches(0.5) #设置左缩进0.5英寸。一般用不到p1.paragraph_format.right_line_indent=Inches(0.5) #设置右缩进0.5英寸,一般用不到p1.paragraph_format.keep_together = False # 段前分页p1.paragraph_format.keep_with_next = False # 与下段同页p1.paragraph_format.page_break_before = True # 段中不分页p1.paragraph_format.widow_control = False # 孤行控制p1.space_after=Pt(5) #设置段后距离为5磅p1.space_before=Pt(5) #设置段前距离为5磅 run1=p1.add_run('你好') #写入段落的中的文本"你好"run1.font.size=Pt(12) #单独设置字体大小为24run1.font.bold=True #样式设置加粗run1.italic=True #字形设置斜体run1.font.underline = True # 下划线run1.font.color.rgb = RGBColor(255, 0, 0) # 颜色插入图片
#添加图片,设置图片大小doc.add_picture(r"图片路径", width=Cm(10))
插入表格
tab = doc.add_table(rows=5, cols=8, style='Table Grid') # 创建一个5行8列的表格,样式为Table Gridtab.cell(0, 0).text = '表角' # 0行0列的内容为表角cell=tab.cell(0, 1).merge(tab.cell(0, 3)) # 合并0行1列到0行3列p = cell.paragraphs[0]run = p.add_run('合并') #在单元格内容创建一个段落,并写入'合并'文本run.font.size = Pt(10.5) # 字体大小设置,和word里面的字号相对应5号字run.bold = Truep.paragraph_format.alignment = WD_PARAGRAPH_ALIGNMENT.CENTER # 设置为加粗 居中显示感谢各位的阅读,以上就是"python-docx处理Word必备工具是什么"的内容了,经过本文的学习后,相信大家对python-docx处理Word必备工具是什么这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!
文档
格式
大小
字体
处理
工具
图片
段落
内容
字符
样式
模板
正文
页码
学习
你好
就是
文字
文本
方式
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网络科技
河南真二互联网科技有限公司
高科技与互联网
鑫亿盛互联网科技
远拓互联网科技
融势互联网科技
互联网科技英文翻译
彤创互联网科技有限公司
注册互联网科技公司经营范围大全
互联网媒体平台算高科技产业
坤平互联网科技
民营互联网公司国防科技
河南住房之家互联网科技
用友工业互联网科技发展
滨湖区互联网智能科技产品有哪些
黑科技 体验场景 互联网大会
富国互联网金融科技混合基金
保山互联网科技靠谱吗
数字科技和互联网金融哪个好
如何强化互联网金融科技
易互联网科技有限公司
狮子座互联网科技
上游互联网科技
互联网科技公司需要的职位
河南猎农互联网科技有限公司
云鲸互联网络科技有限公司
西安左小互联网科技有限公司
求路客互联网科技电话
互联网科技博主张洲
互联网科技大会大佬