python docx 中文字體設(shè)置的操作方法
最近用到了docx生成word文檔,docx本身用起來很方便,自帶的各種樣式都很好看,美中不足的就是對中文的支持不夠好。在未設(shè)置中文字體的時候,生成的文檔雖然可以顯示中文,但是筆畫大小不一,很難看。
解決辦法:
首先創(chuàng)建一個文檔,要先聲明一個document:
from docx import Document document = Document()
docx內(nèi)置的樣式都可以通過document.styles取到。
正文是Normal, 標題樣式根據(jù)標題聲明的基本,分別從Heading 1 到Heading 9, 另外還有table、list等各種word對應(yīng)的樣式??梢酝ㄟ^遍歷document.styles查看。
我們以正文Normal為例。先來看看涉及字體更改的是style object里面的哪些屬性。
1. document.styles[‘Normal'].font.name
有興趣深入研究的同學可以看看官方文檔對Font的介紹
http://python-docx.readthedocs.io/en/latest/dev/analysis/features/text/font.html?highlight=font
在這里我們只需要更改font.name。
2. document.styles[‘Normal']._element.rPr.rFonts
只更改font.name是不夠的,還需要調(diào)用._element.rPr.rFonts的set()方法。
綜合起來這樣
from docx.oxml.ns import qn document.styles['Normal'].font.name = u'宋體' document.styles['Normal']._element.rPr.rFonts.set(qn('w:eastAsia'), u'宋體')
問題解決, 表格中字體成功更改為”宋體”.
以上這篇python docx 中文字體設(shè)置的操作方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python處理json字符串轉(zhuǎn)化為字典的簡單實現(xiàn)
下面小編就為大家?guī)硪黄狿ython處理json字符串轉(zhuǎn)化為字典的簡單實現(xiàn)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-07-07python強大的hook函數(shù)使用及應(yīng)用場景
鉤子函數(shù)(hook function)是把我們自己實現(xiàn)的hook函數(shù)在某一時刻掛接到目標掛載點上,這篇文章主要介紹了python強大的hook函數(shù)使用及應(yīng)用場景,需要的朋友可以參考下2023-05-05Python中表達式x += y和x = x+y 的區(qū)別詳解
這篇文章主要跟大家介紹了關(guān)于Python中x += y和x = x+y 的區(qū)別的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家具有一定的參考學習價值,需要的朋友們下面來一起看看吧。2017-06-06keras讀取訓練好的模型參數(shù)并把參數(shù)賦值給其它模型詳解
這篇文章主要介紹了keras讀取訓練好的模型參數(shù)并把參數(shù)賦值給其它模型詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-06-06pytorch實現(xiàn)特殊的Module--Sqeuential三種寫法
今天小編就為大家分享一篇pytorch實現(xiàn)特殊的Module--Sqeuential三種寫法。具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-01-01對tensorflow 的模型保存和調(diào)用實例講解
今天小編就為大家分享一篇對tensorflow 的模型保存和調(diào)用實例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-07-07