doc python 字体颜色,Python docx修改文字大小字体类型 Python-docx 实现整体修改或者部分修改文字的大小和字体类型...

想了解Python-docx 实现整体修改或者部分修改文字的大小和字体类型的相关内容吗,Leeoo_lyq在本文为您仔细讲解Python docx修改文字大小字体类型的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:Python-docx,文字的大小,字体类型,下面大家一起来学习吧。

Python中可以用docx来生成word文档,docx中可以自定义文字的大小和字体等。

其中要整体修改文字的字体大小和字体,可以用以下方法:

newfile = docx.Document()

newfile.styles['Normal'].font.name = 'Times New Roman'

newfile.styles['Normal']._element.rPr.rFonts.set(qn('w:eastAsia'), u'宋体')

设置字体的两句一定要一起用才能起作用,其中

newfile.styles['Normal'].font.name = 'Times New Roman' 是用来设置当文字是西文时的字体,

newfile.styles['Normal']._element.rPr.rFonts.set(qn('w:eastAsia'), u'宋体') 是用来设置当文字是中文时的字体。

有点类似Word中的

20210308090531.jpg

当只要设置一部分文字的字体,即不要整个文档的字体都一样时,可以用以下方法:

import docx

from docx.oxml.ns import qn

from docx.shared import Pt

newfile = docx.Document()

p1 = newfile.add_paragraph()

text1 = p1.add_run("第一段文字是中文;The first paragraph is in English")

p2 = newfile.add_paragraph()

text2 = p2.add_run("第二段文字是中文;The second paragraph is in English")

# 分别控制每个段落的字体

text1.font.size = Pt(15) # 字体大小

text1.bold = True # 字体是否加粗

text1.font.name = 'Times New Roman' # 控制是西文时的字体

text1.element.rPr.rFonts.set(qn('w:eastAsia'), '宋体') # 控制是中文时的字体

text2.font.size = Pt(10)

text2.bold = False # 字体是否加粗

text2.font.name = 'Times New Roman'

text2.element.rPr.rFonts.set(qn('w:eastAsia'), '黑体')

newfile.save("newdocx.docx")

上面代码是向文档写入了两段文字,第一段中的中文是“宋体”的,而第二段中的中文是“黑体”的。

补充:python 使用 python-docx 调整 Word 文档样式

修改文字字体样式

from docx import Document

from docx.shared import Pt #设置像素、缩进等

from docx.shared import RGBColor #设置字体颜色

from docx.oxml.ns import qn

doc = Document(r"../wordDemo/表彰大会通知.docx")

for paragraph in doc.paragraphs:

for run in paragraph.runs:

run.font.bold = True

run.font.italic = True

run.font.underline = True

run.font.strike = True

run.font.shadow = True

run.font.size = Pt(18)

run.font.color.rgb = RGBColor(255,0,255)

run.font.name = "黑体"

# 设置像黑体这样的中文字体,必须添加下面 2 行代码

r = run._element.rPr.rFonts

r.set(qn("w:eastAsia"),"黑体")

doc.save(r"../wordDemo/表彰大会通知.docx")

效果展示

20210308091036.jpg

修改段落样式

对齐样式

from docx import Document

from docx.enum.text import WD_ALIGN_PARAGRAPH #设置对象居中、对齐等。

doc = Document(r"../wordDemo/表彰大会通知.docx")

print(doc.paragraphs[1].text)

doc.paragraphs[1].alignment = WD_ALIGN_PARAGRAPH.CENTER

# 这里设置的是居中对齐

doc.save(r"../wordDemo/表彰大会通知.docx")

效果展示

20210308091049.jpg

行间距调整

from docx import Document

from docx.enum.text import WD_ALIGN_PARAGRAPH

doc = Document(r"../wordDemo/表彰大会通知.docx")

for paragraph in doc.paragraphs:

paragraph.paragraph_format.line_spacing = 5.0

doc.save(r"../wordDemo/表彰大会通知.docx")

效果展示

20210308091057.jpg

段前与段后间距

from docx import Document

from docx.enum.text import WD_ALIGN_PARAGRAPH

from docx.shared import Pt

doc = Document(r"../wordDemo/test.docx")

for paragraph in doc.paragraphs:

paragraph.paragraph_format.space_before = Pt(12)

# 段前

paragraph.paragraph_format.space_after = Pt(10)

# 段后

# Pt(12) 表示12磅

doc.save(r"../wordDemo/test.docx")

效果展示

20210308091105.jpg

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。如有错误或未考虑完全的地方,望不吝赐教。

相关文章

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值