Python-docx 是 Python 中一個強大的工具類庫,用於建立和操作 Word 文件(.docx)
python-docx 中的標題號是什麼?
標題編號是指定給文件中標題的數字或字母數字識別符號,用於表示其在文件層次結構中的位置。例如,“1.引言”、“2.方法”、“2.1 資料收集”等。這些數字有助於讀者理解文件的結構並輕鬆瀏覽它。
使用以下命令安裝:
pip 安裝 python-docx
使用 python-docx 設定標題數字的三個優秀程式碼示例
示例1:基本標題設定
在本例中,我們使用 python-docx 建立了一個帶有標題和副標題的簡單 Word 文件。 請注意,python-docx 不支援直接設定自動標題編號;不過我們可以依賴 Word 的渲染來實現。
from docx import Document # Create a new Document doc = Document() # Add Heading 1 heading1 = doc.add_heading('Heading 1', level=1) # Add Subheading 1.1 and 1.2 subheading1_1 = doc.add_heading('Subheading 1.1', level=2) subheading1_2 = doc.add_heading('Subheading 1.2', level=2) # Add Heading 2 heading2 = doc.add_heading('Heading 2', level=1) # Add Subheading 2.1 subheading2_1 = doc.add_heading('Subheading 2.1', level=2) # Save the document doc.save('heading_example.docx')
輸出
基本標題設定
示例2:自定義標題編號(手動)
在本例中,我們透過為標題新增文字字首來手動設定標題編號。 這種方法允許我們在文件內容中控制編號方案。
from docx import Document # Create a new Document doc = Document() # Manually set heading numbers headings = [ ('Heading 1', 1), ('Subheading 1.1', 2), ('Subheading 1.2', 2), ('Heading 2', 1), ('Subheading 2.1', 2) ] for text, level in headings: if level == 1: para = doc.add_paragraph() run = para.add_run(f'{level}. {text}') run.bold = True elif level == 2: para = doc.add_paragraph() run = para.add_run(f'{" " * 4 * (level - 1)}{level}.{text}') # Save the document doc.save('custom_heading_numbers.docx')
輸出
自定義標題編號(手動)
示例 3:使用粗體和字型大小設定標題樣式
本示例演示如何新增具有特定樣式的標題,包括粗體文字和調整後面的字型大小。
from docx import Document from docx.shared import Pt from docx.enum.text import WD_PARAGRAPH_ALIGNMENT # Create a new Document doc = Document() # Define heading styles headings = [ ('Heading 1', 1, Pt(18)), ('Subheading 1.1', 2, Pt(14)), ('Subheading 1.2', 2, Pt(14)), ('Heading 2', 1, Pt(18)), ('Subheading 2.1', 2, Pt(14)) ] for text, level, font_size in headings: para = doc.add_paragraph() run = para.add_run(text) # Set bold and font size run.bold = True font = run.font font.size = font_size # Adjust alignment if needed if level == 1: para.alignment = WD_PARAGRAPH_ALIGNMENT.CENTER elif level == 2: para.alignment = WD_PARAGRAPH_ALIGNMENT.LEFT # Save the document doc.save('styled_headings.docx')
輸出
使用粗體和字型大小設定標題樣式
結論
這些示例說明了使用 python-docx 設定標題編號和樣式的不同方法,雖然 python-docx 不能直接控制自動標題編號,但您可以操作文字內容和樣式來實現結構化的文件佈局,您可以根據 Word 文件中標題編號和格式的具體要求調整這些示例。