我正在尋找一種將整個文檔的字體更改爲Arial(10pt)的pythonic方式,因爲當前文檔具有幾種字體的混合。有沒有使用python-docx更改word文檔字體的方法?
這可能嗎?
- 在此先感謝! JP
我正在尋找一種將整個文檔的字體更改爲Arial(10pt)的pythonic方式,因爲當前文檔具有幾種字體的混合。有沒有使用python-docx更改word文檔字體的方法?
這可能嗎?
- 在此先感謝! JP
有幾種不同的方法可以解決這個問題,因爲這是一個比它最先出現的更復雜的問題。
「視」字型,或者更精確地在Word文本項目「有效」的字體從樣式層次結構幾乎相同的方式CSS適用於HTML計算。
樣式層次結構中的最終級別覆蓋所有較高級別,可直接在運行級別應用格式。所以如果你設置了一個特定的運行時間,那麼無論如何,它都會以這種方式出現。
超過這個水平,你有一段默認格式,字體,段落樣式,承襲風格(應用型風格的基本樣式)和文件默認情況下,可能不是正是爲了。所以你可以看到我關於複雜性的觀點。所有這些事情都需要重新調整,以「正確地」進行(這對於以後的可編輯性來說肯定是有好處的)。
但是,如果你想有一個強力的辦法,只是申請一個明確的字體到文檔中的每個運行。也許會好一點會在每次運行時實際刪除明確的字體設置,讓風格或文檔默認規則的有效字體。
迭代運行看起來像這樣aircode:
document = Document('my-document.docx')
for paragraph in document.paragraphs:
for run in paragraph.runs:
font = run.font
# ---do font-related things---
for table in document.tables:
for row in table.rows:
for cell in row.cells:
for paragraph in cell.paragraphs:
for run in paragraph.runs:
font = run.font
# ---do font-related things---
可能要作出這樣通過提取幾個漂亮的功能,但是這是要點。
pythonic是什麼意思?似乎與使用document.paragraphs應該讓你得到所有段落和環比在他們 – Srgrn
我正在尋找一個更高級的解決方案,考慮到表及其子結構(行,單元格),也文件則可對。 –