|
发表于 2020-9-27 11:58:36
|
显示全部楼层
1、字体设置
利用python-docx生成段落时,在未设置中文字体的时候,生成的文档虽然可以显示中文,但大小不一,不美观,于是需要对字体进行指定
#依赖的一些包
from docx import Document
from docx.shared import Pt, Inches
from docx.oxml.ns import qn
1.1、修改正文中的中文字体类型
示例代码,全局设置
document=Document()
document.styles['Normal'].font.name=u'宋体'
document.styles['Normal']._element.rPr.rFont.set(qn('w:eastAsia'),u'宋体')
如果不写入上述代码,会导致文章字体类型不统一
1.2、修改标题的字体类型
以1级标题为例
run=document.add_heading(' ',level=1).add_run(u'应用场景示例:') #应用场景示例标题
run.font.name=u'黑体'
run._element.rPr.rFont.set(qn('w:eastAsia'),u'黑体')
1.3、字体格式(加粗、斜体、颜色等)
p = document.add_paragraph()
run = p.add_run('test typeface')
run.font.bold = True #加粗
run.font.italic = True #斜体
run.font.underline = True #下划线
run.underline=WD_UNDERLINE.DOT_DASH #返回WD_UNDERLINE中所有下划线格式
##字体颜色
from docx.shared import RGBColor
test=document.add_paragraph().add_run('color')
font=test.font
font.color.rgb=RGBColor(0x42, 0x24 , 0xE9)
##使用预设颜色
from docx.enum.dml import MSO_THEME_COLOR
font.color.theme_color=MSO_THEME_COLOE.ACCRNT_1
1.3、调整文本位置格式
居中
from docx.enum.text import WD_ALIGN_PARAGRAPH
document=Document('test.docx')
paragraph=document.add_paragraph('123')
paragraph.pargraph_format.alignment=WD_ALIGN_PARAGRAPH.CENTER
##这一步调整文件格式为居中
document.save('test.docx')
左缩进
document=Document('text.docx')
paragraph=document.add_paragraph('this is test for left_indent with inches.')
paragraph_format=paragraph.paragraph_format
paragraph_format.left_indent=Inches(0.3) #调整左缩进0.3英寸
document.save('test.docx')
paragraph_format.first_line_indent=Inches(0.3)
行间距
paragraph_format.space_before=Pt(18) #上行间距
paragraph_format.space_after=Pt(12) #下行间距
paragraph_format.line_spacing=Pt(18) #行距
分页格式
paragraph_format.keep_together #紧跟上段
paragraph_format.keep_with_next #若本页无法完全显示,另起一页
paragraph_format.page_break_before #强制另起一页,分页
https://blog.csdn.net/smile445/article/details/90402394
字体好设置,缩放52%,急缩量1磅是什么? |
|