主頁(yè) > 知識(shí)庫(kù) > Python-docx 實(shí)現(xiàn)整體修改或者部分修改文字的大小和字體類型

Python-docx 實(shí)現(xiàn)整體修改或者部分修改文字的大小和字體類型

熱門標(biāo)簽:汕頭電商外呼系統(tǒng)供應(yīng)商 鄭州智能外呼系統(tǒng)中心 crm電銷機(jī)器人 南京crm外呼系統(tǒng)排名 賓館能在百度地圖標(biāo)注嗎 云南地圖標(biāo)注 400電話 申請(qǐng) 條件 電銷機(jī)器人 金倫通信 北京外呼電銷機(jī)器人招商

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ò)誤或未考慮完全的地方,望不吝賜教。

您可能感興趣的文章:
  • 安裝python-docx后,無(wú)法在pycharm中導(dǎo)入的解決方案
  • Python安裝docx依賴包教程
  • 使用Python docx修改word關(guān)鍵詞顏色的操作
  • Python中docx2txt庫(kù)的使用說(shuō)明
  • python docx的超鏈接網(wǎng)址和鏈接文本操作
  • 詳解用 python-docx 創(chuàng)建浮動(dòng)圖片
  • python 實(shí)現(xiàn)docx與doc文件的互相轉(zhuǎn)換

標(biāo)簽:文山 浙江 石家莊 昆明 錫林郭勒盟 懷化 梅州 西寧

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Python-docx 實(shí)現(xiàn)整體修改或者部分修改文字的大小和字體類型》,本文關(guān)鍵詞  Python-docx,實(shí)現(xiàn),整體,修改,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Python-docx 實(shí)現(xiàn)整體修改或者部分修改文字的大小和字體類型》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于Python-docx 實(shí)現(xiàn)整體修改或者部分修改文字的大小和字體類型的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章