Python

您所在的位置:网站首页 设置行距word Python

Python

2023-11-07 23:17| 来源: 网络整理| 查看: 265

Python-docx 模块读写 Word 文档基础:创建文档、段落格式、字体格式设置方法 python-docx 模块简介:

安装方法:pip install python-docx 官方文档地址: python-docx 0.8.10 python-docx 模块集成了 Word 文档的读写功能,不像 python 的 xlwt 和 xlrd 模块操作 Excel 表格,一个辅助写,一个负责读,用起来还是很方便的。

【Python与Word】专栏简介:

本专栏也会分两个部分来讲解:基础接口(用法)详解,实例演练 。 基础接口讲解内容: 1、python-doxc模块新建(写) Word 文档(预计两篇博客); 2、python-doxc模块读取 Word 文档信息(预计一篇)。

本篇博客主要内容:

1、创建文档与基础操作; 2、文档段落格式设置; 3、字体格式设置。

1、创建 Word 文档及基础用法:

模块安装后,导入模块,新建 word 文档对象:

# 导入模块 from docx import Document doc = Document() # 新建文档对象 '''按模板新建 word 文档文件,具有模板文件的所有格式'''

新建了 Document 对象后就可以用它开始工作了:

# 增加标题: doc.add_heading('标题',1) ''' add_heading(self, text="", level=1): ''' # 段落正文 par = doc.add_paragraph('第一个段落:') print(par) # ''' add_paragraph(self, text='', style=None): 返回一个 Paragraph 段落对象 ''' # 在段落中添加文字 run_ = par.add_run('段落文字') print(run_) # ''' add_run(self, text=None, style=None): 返回一个 run 对象 '''

解析: 以上代码,在文档中增加了一个标题、一个段落并在段落中增加了文字。以上三个方法都会返回相应的对象,以便后续的一些操作。

其他一些常用方法:(在文档中增加图片、表格)

# 增加图片 pic_par = doc.add_picture('1.png') ''' add_picture(self, image_path_or_stream, width=None, height=None): 返回一个 InlineShape 对象 ''' print(pic_par) # # 增加表格 table = doc.add_table(2,3) ''' add_table(self, rows, cols, style=None): 返回一个表格对象 ''' print(table) # # 保存文件 doc.save('test.docx')

2、段落格式设置: add_heading 方法: # 增加分页符 doc.add_page_break() # 增加标题 API 分析 for i in range(0,10): exec ("doc.add_heading('标题%s',%s)" % (i,i)) # 只能设置 0-9 级标题

add_heading 方法:是在Word 文档中增加标题,也就是Word文档中的这些快捷窗口:

新建一个段落,并对段落格式进行设置: 1、段落文字对齐设置: # 增加分页 doc.add_page_break() par2 = doc.add_paragraph('第二个段落文本:麻烦给我的爱人来一杯MojIto,' '我喜欢阅读她微醺时的眼眸,而我的咖啡,糖不用太多,' '这世界已经因为她甜得过头,没有跟她笑容一样浓郁的雪茄,' '就别浪费时间介绍收起来吧,拱廊的壁画,旧城的涂鸦,' '所有色彩都因为她说不出话。') # Paragraph 段落格式设置 # 段落对齐设置:# 导入对齐选项 from docx.enum.text import WD_ALIGN_PARAGRAPH # 设置段落文本右对齐 par2.paragraph_format.alignment = WD_ALIGN_PARAGRAPH.RIGHT ''' 可选项有: 'LEFT', 0, 'left', 'Left-aligned' 'CENTER', 1, 'center', 'Center-aligned.' 'RIGHT', 2, 'right', 'Right-aligned.' 'JUSTIFY', 3, 'both', 'Fully justified.' 'DISTRIBUTE', 4, 'distribute', 'Paragraph characters are distrib' 'uted to fill the entire width of the paragraph.' 'JUSTIFY_MED', 5, 'mediumKashida', 'Justified with a medium char' 'acter compression ratio.' 'JUSTIFY_HI', 7, 'highKashida', 'Justified with a high character' ' compression ratio.' 'JUSTIFY_LOW', 8, 'lowKashida', 'Justified with a low character ' 'compression ratio.' 'THAI_JUSTIFY', 9, 'thaiDistribute', 'Justified according to Tha' 'i formatting layout.' ''' # 获取段落设置的对齐方式 print(par2.alignment) 2、段落缩进设置: # 段落缩进: # 导入缩进单位 from docx.shared import Inches,Pt # 左缩进,0.5 英寸 par2.paragraph_format.left_indent = Inches(0.5) # 右缩进,20 磅 par2.paragraph_format.right_indent = Pt(20) # 首行缩进 par2.paragraph_format.first_line_indent = Inches(1) 3、段落间距设置: # 行间距 # par2.paragraph_format.line_spacing = Pt(20) # 20 磅 par2.paragraph_format.line_spacing = 1.5 # 1.5倍行距 单倍行距 1.0 "当line_spacing设置为长度值时表示绝对距离," "设置为浮点数时表示行高的倍数" # 段前间距 par2.paragraph_format.space_before = Pt(5) # 段后间距 par2.paragraph_format.space_after = Pt(10) # 设置段落内部文字在遇到需分页情况时处理状态 par2.paragraph_format.keep_together = True # 段中不分页 par2.paragraph_format.keep_with_next = True # 与下段同页 par2.paragraph_format.page_break_before = True # 段前分页 par2.paragraph_format.widow_control = True # 孤行控制

以上段落设置方法,其实对应Word文档中的段落设置方法.

注:以上设置的段落格式,也均可获取到设置值,如:

# 获取段落的左缩进,首行缩进,段前间距: l_space = par2.paragraph_format.left_indent h_space = par2.paragraph_format.first_line_indent b_space = par2.paragraph_format.space_before print(l_space,h_space,b_space) # 打印结果 # 457200 914400 63500 4、字体格式设置:

首先明确一个概念:

python-docx 模块中,paragraph 段落是一个块对象,可以理解为是一个容器。run 对象也是一个块对象,可以理解为具有相同格式的一段文字集合。

放在 word 文档中简单理解就是,一个段落包含许多文字,同一段落的文字,也可以有不同的格式。

注意:用 add_paragraph() 方法添加段落时,如果写入了文本,就直接创建了一个 run。

测试一下上面的 paragraph 对象:

# 获取上面段落对象 所有 run 对象 par2_run = par2.runs print(par2_run) # 打印结果: # []

字体格式设置:

# 新建一个段落,增加一段文字 run_2 = doc.add_paragraph().add_run('这爱不落幕,忘了心事的国度,' '你所在之处,孤单都被征服,' '铁铸的招牌,错落着就像,' '一封封城市献给天空的情书,' '当街灯亮起,Havana漫步,' '这是世上最美丽的那双人舞。') # 设置字体格式 run_2.font.name = 'Times New Roman' # 注:这个好像设置 run 中的西文字体 # 设置中文字体 # 需导入 qn 模块 from docx.oxml.ns import qn # run_2.font.name = '楷体' # 注:如果想要设置中文字体,需在前面加上这一句 run_2.font.element.rPr.rFonts.set(qn('w:eastAsia'),'楷体') # 设置字体大小 run_2.font.size = Pt(14) # 设置加粗 run_2.font.bold = True # 设置斜体 run_2.font.italic = True # 设置字体颜色 需导入 rgb 颜色模块 from docx.shared import RGBColor run_2.font.color.rgb = RGBColor(255,55,55) # 红色 # 设置下划线 # run_2.font.underline = True # 设置轮廓线 # run_2.font.outline = True # 设置阴影 # run_2.font.shadow = True # 删除线 # run_2.font.strike = True # 双删除线 # run_2.font.double_strike = True # 设置下标 # run_2.font.subscript = True # 设置上标 # run_2.font.superscript = True 5、表格格式设置:

https://blog.csdn.net/zhouz92/article/details/107066709 https://blog.csdn.net/liaosen/article/details/121242200

转载自:https://blog.csdn.net/zhouz92/article/details/107028727

Python操作xlsx表格 https://zhuanlan.zhihu.com/p/567826486



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3