python docx 中文字體設定的操作方法

不言
發布: 2018-05-08 13:44:48
原創
7182 人瀏覽過

這篇文章主要介紹了關於python docx 中文字體設定的操作方法,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下

#最近用到了docx生成word文檔,docx本身用起來很方便,自備的各種樣式都很好看,美中不足的就是對中文的支援不夠好。在未設定中文字體的時候,生成的文檔雖然可以顯示中文,但是筆畫大小不一,很難看。

解決方案:

先建立一個文檔,要先聲明一個document:


from docx import Document
document = Document()
登入後複製


docx內建的樣式都可以透過document.styles取到。

正文是Normal, 標題樣式根據標題聲明的基本,分別從Heading 1 到Heading 9, 另外還有table、list等各種word對應的樣式。可以透過遍歷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是不夠的,還需要呼叫._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檔的方法



以上是python docx 中文字體設定的操作方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板