Python-docx 實(shí)現(xiàn)整體修改或者部分修改文字的大小和字體類型
Python中可以用docx來(lái)生成word文檔,docx中可以自定義文字的大小和字體等。
其中要整體修改文字的字體大小和字體,可以用以下方法:
newfile = docx.Document()
newfile.styles['Normal'].font.name = 'Times New Roman'
newfile.styles['Normal']._element.rPr.rFonts.set(qn('w:eastAsia'), u'宋體')
設(shè)置字體的兩句一定要一起用才能起作用,其中
newfile.styles['Normal'].font.name = 'Times New Roman' 是用來(lái)設(shè)置當(dāng)文字是西文時(shí)的字體,
newfile.styles['Normal']._element.rPr.rFonts.set(qn('w:eastAsia'), u'宋體') 是用來(lái)設(shè)置當(dāng)文字是中文時(shí)的字體。
有點(diǎn)類似Word中的

當(dāng)只要設(shè)置一部分文字的字體,即不要整個(gè)文檔的字體都一樣時(shí),可以用以下方法:
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")
# 分別控制每個(gè)段落的字體
text1.font.size = Pt(15) # 字體大小
text1.bold = True # 字體是否加粗
text1.font.name = 'Times New Roman' # 控制是西文時(shí)的字體
text1.element.rPr.rFonts.set(qn('w:eastAsia'), '宋體') # 控制是中文時(shí)的字體
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")
上面代碼是向文檔寫入了兩段文字,第一段中的中文是“宋體”的,而第二段中的中文是“黑體”的。
補(bǔ)充:python 使用 python-docx 調(diào)整 Word 文檔樣式
修改文字字體樣式
from docx import Document
from docx.shared import Pt #設(shè)置像素、縮進(jìn)等
from docx.shared import RGBColor #設(shè)置字體顏色
from docx.oxml.ns import qn
doc = Document(r"../wordDemo/表彰大會(huì)通知.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 = "黑體"
# 設(shè)置像黑體這樣的中文字體,必須添加下面 2 行代碼
r = run._element.rPr.rFonts
r.set(qn("w:eastAsia"),"黑體")
doc.save(r"../wordDemo/表彰大會(huì)通知.docx")
效果展示

修改段落樣式
對(duì)齊樣式
from docx import Document from docx.enum.text import WD_ALIGN_PARAGRAPH #設(shè)置對(duì)象居中、對(duì)齊等。 doc = Document(r"../wordDemo/表彰大會(huì)通知.docx") print(doc.paragraphs[1].text) doc.paragraphs[1].alignment = WD_ALIGN_PARAGRAPH.CENTER # 這里設(shè)置的是居中對(duì)齊 doc.save(r"../wordDemo/表彰大會(huì)通知.docx")
效果展示

行間距調(diào)整
from docx import Document from docx.enum.text import WD_ALIGN_PARAGRAPH doc = Document(r"../wordDemo/表彰大會(huì)通知.docx") for paragraph in doc.paragraphs: paragraph.paragraph_format.line_spacing = 5.0 doc.save(r"../wordDemo/表彰大會(huì)通知.docx")
效果展示

段前與段后間距
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")
效果展示

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章
Python+Turtle繪制可愛(ài)的多啦A夢(mèng)的示例代碼
這篇文章主要介紹了如何利用python中的Turtle模塊繪制一個(gè)童年記憶的卡通人物哆啦A夢(mèng),文中的示例代碼講解詳細(xì),感興趣的可以了解一下2022-03-03
Windows10下 python3.7 安裝 facenet的教程
這篇文章主要介紹了Windows10 python3.7 安裝 facenet的教程,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-09-09
Python使用Flask-SQLAlchemy連接數(shù)據(jù)庫(kù)操作示例
這篇文章主要介紹了Python使用Flask-SQLAlchemy連接數(shù)據(jù)庫(kù)操作,簡(jiǎn)單介紹了flask、Mysql-Python以及Flask-SQLAlchemy的安裝方法,并結(jié)合實(shí)例形式分析了基于Flask-SQLAlchemy的數(shù)據(jù)庫(kù)連接相關(guān)操作技巧,需要的朋友可以參考下2018-08-08
使用Python在Word文檔中添加,刪除和回復(fù)批注
在文檔協(xié)作與審閱場(chǎng)景中,高效管理批注是提升團(tuán)隊(duì)效率的關(guān)鍵環(huán)節(jié),下面我們就來(lái)看看如何使用Python在Word文檔中實(shí)現(xiàn)添加、刪除和回復(fù)批注的操作吧2025-03-03
Python語(yǔ)法學(xué)習(xí)之正則表達(dá)式的量詞匯總
通過(guò)正則的規(guī)則匹配到的信息都是一個(gè)單獨(dú)的字符存到輸出結(jié)果中的,如何更夠根據(jù)字符串中的詞組進(jìn)行匹配呢?因此本文將帶大家學(xué)習(xí)一下正則表達(dá)式中的量詞符號(hào)與組的概念,感興趣的可以了解一下2022-04-04
Python 開(kāi)發(fā)工具PyCharm安裝教程圖文詳解(新手必看)
PyCharm是一種Python IDE,帶有一整套可以幫助用戶在使用Python語(yǔ)言開(kāi)發(fā)時(shí)提高其效率的工具,比如調(diào)試、語(yǔ)法高亮、Project管理、代碼跳轉(zhuǎn)、智能提示、自動(dòng)完成、單元測(cè)試、版本控制。今天通過(guò)本文給大家分享PyCharm安裝教程,一起看看吧2020-02-02
python如何實(shí)現(xiàn)內(nèi)容寫在圖片上
這篇文章主要為大家詳細(xì)介紹了python如何實(shí)現(xiàn)內(nèi)容寫在圖片上,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-03-03

