最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
python-docx处理Word必备工具代码示例
时间:2022-06-25 01:39:47 编辑:袖梨 来源:一聚教程网
本篇文章小编给大家分享一下python-docx处理Word必备工具代码示例,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看。
安装库:
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) # 字体仿宋_GB2312 docment.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字符 值为:406400 p1.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) #单独设置字体大小为24 run1.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 Grid tab.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 = True p.paragraph_format.alignment = WD_PARAGRAPH_ALIGNMENT.CENTER # 设置为加粗 居中显示
相关文章
- 王者荣耀侦探能力大测试攻略 王者荣耀侦探能力大测试怎么过 11-22
- 无期迷途主线前瞻兑换码是什么 11-22
- 原神欧洛伦怎么培养 11-22
- 炉石传说网易云音乐联动怎么玩 11-22
- 永劫无间手游确幸转盘怎么样 11-22
- 无期迷途主线前瞻兑换码是什么 无期迷途主线前瞻直播兑换码介绍 11-22