使用Python在Word文檔中插入和刪除文本框
引言
在當(dāng)今自動(dòng)化辦公需求日益增長(zhǎng)的背景下,通過(guò)編程手段動(dòng)態(tài)管理Word文檔中的文本框元素已成為提升工作效率的關(guān)鍵技術(shù)路徑。文本框作為文檔排版中靈活的內(nèi)容容器,既能承載多模態(tài)信息(如文字、圖像),又可實(shí)現(xiàn)獨(dú)立于正文流的位置調(diào)整與樣式定制,但其手動(dòng)操作存在重復(fù)性高、批量處理困難等痛點(diǎn)。通過(guò)Python腳本對(duì)文本框進(jìn)行精準(zhǔn)控制,不僅能夠?qū)崿F(xiàn)跨文檔的批量插入與刪除操作,還能將復(fù)雜布局設(shè)計(jì)與數(shù)據(jù)動(dòng)態(tài)綁定,例如自動(dòng)生成報(bào)告模板、標(biāo)準(zhǔn)化企業(yè)文檔格式或構(gòu)建交互式內(nèi)容系統(tǒng)。本文將介紹如何使用Python在Word文檔中插入和刪除文本框。
本文所使用的方法需要用到Free Spire.Doc for Python,PyPI:pip install spire.doc.free。
用Python插入文本框到Word文檔
我們可以使用庫(kù)中提供的Workbook類來(lái)創(chuàng)建或載入Word文檔,然后使用Paragraph.AppendTextBox(width: float, height: float)方法在段落中添加任意尺寸的文本框。其中,TextBox.Format屬性可對(duì)文本框格式進(jìn)行設(shè)置,同時(shí)我們可以在文本框中添加文本、圖片等元素。
以下是操作步驟:
- 創(chuàng)建
Document實(shí)例,以新建Word文檔。 - 使用
Document.AddSection()方法在文檔中添加一個(gè)節(jié),并設(shè)置頁(yè)面。 - 使用
Section.AddParagraph()方法在節(jié)中添加一個(gè)段落,并插入內(nèi)容。 - 使用
Paragraph.AppendTextBox()方法,在段落中添加一個(gè)指定尺寸的文本框。 - 使用
TextBox.Format下的屬性設(shè)置文本框格式。 - 使用
TextBox.Body.AddParagraph()方法在文本框中添加段落。 - 在文本框段落中添加內(nèi)容并設(shè)置格式。
- 使用
Document.SaveToFile()方法保存Word文檔。
代碼示例
from spire.doc import Document, VerticalOrigin, TextWrappingStyle, HorizontalOrigin, BackgroundType, Color, TextBoxLineStyle, LineDashing, HorizontalAlignment, FileFormat
# 創(chuàng)建文檔對(duì)象
document = Document()
# 添加節(jié)
section = document.AddSection()
section.PageSetup.Margins.Top = 50
section.PageSetup.Margins.Bottom = 50
# 添加段落
main_paragraph = section.AddParagraph()
text_range = main_paragraph.AppendText("以下是一個(gè)文本框示例:\r\n")
text_range.CharacterFormat.FontName = "微軟雅黑"
text_range.CharacterFormat.FontSize = 14
# 在段落中添加一個(gè)文本框
textbox = main_paragraph.AppendTextBox(300, 200) # 設(shè)置文本框尺寸
# 設(shè)置文本框位置和環(huán)繞樣式
textbox.Format.HorizontalOrigin = HorizontalOrigin.Page
textbox.Format.HorizontalPosition = 50
textbox.Format.VerticalOrigin = VerticalOrigin.Page
textbox.Format.VerticalPosition = 80
textbox.Format.TextWrap = TextWrappingStyle.InFrontOfText
# 設(shè)置漸變背景填充
textbox.Format.FillEfects.Type = BackgroundType.Gradient
textbox.Format.FillEfects.Gradient.Color1 = Color.get_BlueViolet()
textbox.Format.FillEfects.Gradient.Color2 = Color.get_LightSkyBlue()
textbox.Format.FillEfects.Gradient.Angle = 45
# 設(shè)置三維邊框樣式
textbox.Format.LineColor = Color.get_DarkBlue()
textbox.Format.LineStyle = TextBoxLineStyle.ThickThin
textbox.Format.LineWidth = 3.5
textbox.Format.LineDashing = LineDashing.DashDot
# 在文本框內(nèi)添加帶圖標(biāo)的標(biāo)題段落
header_paragraph = textbox.Body.AddParagraph()
icon = header_paragraph.AppendPicture("alert.png")
icon.Width = 20
icon.Height = 20
title_text = header_paragraph.AppendText(" 重要通知")
title_text.CharacterFormat.FontName = "微軟雅黑"
title_text.CharacterFormat.FontSize = 14
title_text.CharacterFormat.TextColor = Color.get_Gold()
# 添加分隔線
separator = textbox.Body.AddParagraph()
separator.Format.Borders.Top.Color = Color.get_Gold()
separator.Format.Borders.Top.LineWidth = 2
separator.Format.Borders.Top.Space = 5
# 添加圖文混排內(nèi)容
content_paragraph = textbox.Body.AddParagraph()
image = content_paragraph.AppendPicture("document.png")
image.Width = 60
image.Height = 60
image.TextWrappingStyle = TextWrappingStyle.Through
text_content = content_paragraph.AppendText("本通知包含重要更新內(nèi)容,請(qǐng)仔細(xì)閱讀。如需進(jìn)一步操作,請(qǐng)?jiān)L問(wèn)我們的知識(shí)庫(kù)或聯(lián)系技術(shù)支持。")
text_content.CharacterFormat.FontName = "黑體"
text_content.CharacterFormat.FontSize = 12
text_content.CharacterFormat.TextColor = Color.get_WhiteSmoke()
# 添加旋轉(zhuǎn)文字裝飾
rotated_paragraph = textbox.Body.AddParagraph()
rotated_text = rotated_paragraph.AppendText("機(jī)密文件")
rotated_text.CharacterFormat.FontName = "HarmonyOS Sans SC"
rotated_text.CharacterFormat.FontSize = 24
rotated_text.CharacterFormat.TextColor = Color.FromArgb(100, 255, 255, 255)
rotated_paragraph.Format.Rotation = 30 # 30度旋轉(zhuǎn)
rotated_paragraph.Format.HorizontalAlignment = HorizontalAlignment.Right
# 保存文檔
document.SaveToFile("output/TextBox.docx", FileFormat.Docx2019)
document.Close()
結(jié)果文檔

用Python刪除Word文檔中的文本框
我們可以用Document.TextBoxes屬性來(lái)獲取文檔中的所有文本框,然后使用RemoveAt()方法根據(jù)參數(shù)刪除指定文本框,或直接使用Clear()方法刪除所有文本框。
以下是操作步驟:
- 創(chuàng)建
Document對(duì)象,使用Document.LoadFromFile()方法載入Word文檔。 - 使用
Document.TextBoxes獲取文檔中的所有文本框。 - 使用
TextBoxCollection.RemoveAt()方法刪除指定文本框,或使用TextBoxCollection.Clear()方法刪除所有文本框。 - 使用
Document.SaveToFile()方法保存Word文檔。
代碼示例
from spire.doc import Document
# 創(chuàng)建Document對(duì)象
document = Document()
# 載入Word文檔
document.LoadFromFile("output/TextBox.docx")
# 刪除指定文本框
document.TextBoxes.RemoveAt(0)
# 刪除所有文本框
document.TextBoxes.Clear()
# 保存文檔
document.SaveToFile("output/RemoveTextBox.docx")
document.Close()
結(jié)果文檔

本文演示如何使用Python在Word文檔中插入和刪除文本框,提供操作步驟和代碼示例。
到此這篇關(guān)于使用Python在Word文檔中插入和刪除文本框的文章就介紹到這了,更多相關(guān)Python Word插入和刪除文本框內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python對(duì)比校驗(yàn)神器deepdiff庫(kù)使用詳解
deepdiff模塊常用來(lái)校驗(yàn)兩個(gè)對(duì)象是否一致,包含3個(gè)常用類,DeepDiff,DeepSearch和DeepHash,其中DeepDiff最常用,可以對(duì)字典,可迭代對(duì)象,字符串等進(jìn)行對(duì)比,使用遞歸地查找所有差異,本文給大家講解Python對(duì)比校驗(yàn)神器deepdiff庫(kù),感興趣的朋友一起看看吧2023-04-04
Python輕松更換國(guó)內(nèi)鏡像源的三種方法推薦
在使用Python進(jìn)行開(kāi)發(fā)的時(shí)候,很多人都知道,國(guó)內(nèi)的網(wǎng)絡(luò)環(huán)境有時(shí)候會(huì)讓我們?cè)诎惭b包時(shí)遇到一些麻煩,下面小編就來(lái)和大家分享三種實(shí)用的方法輕松解決這一問(wèn)題吧2025-03-03
python使用selenium打開(kāi)chrome瀏覽器時(shí)帶用戶登錄信息實(shí)現(xiàn)過(guò)程詳解
這篇文章主要介紹了python使用selenium打開(kāi)chrome瀏覽器時(shí)帶用戶登錄信息,本文以實(shí)例給大家來(lái)展示如何讓selenium在打開(kāi)chrome瀏覽器的時(shí)候帶上用戶的登錄信息,感興趣的朋友跟隨小編一起看看吧2022-02-02
將pytorch轉(zhuǎn)成longtensor的簡(jiǎn)單方法
今天小編就為大家分享一篇將pytorch轉(zhuǎn)成longtensor的簡(jiǎn)單方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-02-02
python在一個(gè)范圍內(nèi)取隨機(jī)數(shù)的簡(jiǎn)單實(shí)例
在本篇內(nèi)容里小編給大家分享了關(guān)于python在一個(gè)范圍內(nèi)取隨機(jī)數(shù)的簡(jiǎn)單實(shí)例內(nèi)容,有需要的朋友們可以學(xué)習(xí)下。2020-08-08
超好玩的"隔空操物"通過(guò)Python?MediaPipe庫(kù)實(shí)現(xiàn)
這篇文章主要介紹了python+mediapipe+opencv實(shí)現(xiàn)手部關(guān)鍵點(diǎn)檢測(cè)功能(手勢(shì)識(shí)別),本文僅僅簡(jiǎn)單介紹了mediapipe的使用,而mediapipe提供了大量關(guān)于圖像識(shí)別等的方法,需要的朋友可以參考下2022-01-01

