python-docx处理Word必备工具是什么
发表于:2025-11-14 作者:千家信息网编辑
千家信息网最后更新 2025年11月14日,这篇文章主要讲解了"python-docx处理Word必备工具是什么",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"python-docx处理Word必
千家信息网最后更新 2025年11月14日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安全错误
数据库的锁怎样保障安全
北京图腾服务器机柜云服务器
并发 数据库缓存
网络安全常识问答题
山东沂蒙大科技互联网
韩国航空服务器故障
软件开发者怎么再云端开发
中流房地一体数据库
股票数据库怎么设计
dede 后台数据库慢
数据库灾备恢复
重庆维普数据库中刊
魔兽5区服务器
查看自己数据库主机地址吗
青海人工智能农业信息系统数据库
圣斗士的服务器都有哪一些
我的世界如何查自己的服务器号
造梦西游ol服务器点券
软件开发公司办公空间
网络安全藏语版
远程视频服务器价格表
中流房地一体数据库
韩国服务器端口
软件开发哪家大学好
报表软件开发平台
数据库创建dsn
什么是服务器日志
汽车网络技术现场总线
学校风险数据库wore
设置开启健康数据库
网络安全概念掀涨停潮