Textboxes are versatile tools in Microsoft Word, allowing you to insert and position text or other elements anywhere on a page, giving you the power to create eye-catching flyers, brochures, or reports. Whether you're looking to emphasize a particular section of text, place captions near images, or simply add a decorative touch, the capacity to manipulate textboxes offers a practical and aesthetic advantage in document design. In this article, you will learn how to add or remove textboxes in a Word document in Python using Spire.Doc for Python.
Install Spire.Doc for Python
This scenario requires Spire.Doc for Python and plum-dispatch v1.7.4. They can be easily installed in your Windows through the following pip command.
pip install Spire.Doc
If you are unsure how to install, please refer to this tutorial: How to Install Spire.Doc for Python on Windows
Add a Textbox to a Word Document in Python
Spire.Doc for Python provides the Paragraph.AppendTextBox() method to insert a textbox in a specified paragraph. The content and formatting of the textbox can be set through the properties under the TextBox object. The following are the detailed steps.
- Create a Document object.
- Load a Word document using Document.LoadFromFile() method.
- Get the first section and add a paragraph to the section using Section.AddParagraph() method.
- Add a text box to the paragraph using Paragraph.AppendTextBox() method.
- Get the format of the textbox using TextBox.Format property, and then set the textbox's wrapping type, position, border color and fill color using the properties of TextBoxFormat Class.
- Add a paragraph to the textbox using TextBox.Body.AddParagraph() method.
- Add an image to the paragraph using Paragraph.AppendPicture() method.
- Add text to the textbox using Paragraph.AppendText() method
- Save the document to a different file using Document.SaveToFile() method.
- Python
from spire.doc import * from spire.doc.common import * # Create a Document object document = Document() # Load a Word document document.LoadFromFile("C:/Users/Administrator/Desktop/input3.docx") # Insert a textbox and set its wrapping style textBox = document.Sections[0].Paragraphs[0].AppendTextBox(135, 300) textBox.Format.TextWrappingStyle = TextWrappingStyle.Square # Set the position of the textbox textBox.Format.HorizontalOrigin = HorizontalOrigin.RightMarginArea textBox.Format.HorizontalPosition = -145.0 textBox.Format.VerticalOrigin = VerticalOrigin.Page textBox.Format.VerticalPosition = 120.0 # Set the border style and fill color of the textbox textBox.Format.LineColor = Color.get_DarkBlue() textBox.Format.FillColor = Color.get_LightGray() # Insert an image to textbox as a paragraph para = textBox.Body.AddParagraph(); picture = para.AppendPicture("C:/Users/Administrator/Desktop/Wikipedia_Logo.png") # Set alignment for the paragraph para.Format.HorizontalAlignment = HorizontalAlignment.Center # Set the size of the inserted image picture.Height = 90.0 picture.Width = 90.0 # Insert text to textbox as the second paragraph textRange = para.AppendText("Wikipedia is a free encyclopedia, written collaboratively by the people who use it. " + "Since 2001, it has grown rapidly to become the world's largest reference website, " + "with 6.7 million articles in English attracting billions of views every month.") # Set alignment for the paragraph para.Format.HorizontalAlignment = HorizontalAlignment.Center # Set the font of the text textRange.CharacterFormat.FontName = "Times New Roman" textRange.CharacterFormat.FontSize = 12.0 textRange.CharacterFormat.Italic = True # Save the result file document.SaveToFile("output/AddTextBox.docx", FileFormat.Docx)
Remove a Textbox from a Word Document in Python
Spire.Doc for Python provides the Document.TextBoxes.RemoveAt(int index) method to delete a specified textbox. To delete all textboxes from a Word document, you can use the Document.TextBoxes.Clear() method. The following example shows how to remove the first textbox from a Word document.
- Create a Document object.
- Load a Word document using Document.LoadFromFile() method.
- Remove the first text box using Document.TextBoxes.RemoveAt(int index) method.
- Save the document to another file using Document.SaveToFile() method.
- Python
from spire.doc import * from spire.doc.common import * # Create a Document object document = Document() # Load a Word document document .LoadFromFile("C:/Users/Administrator/Desktop/TextBox.docx") # Remove the first textbox document .TextBoxes.RemoveAt(0) # Remove all textboxes # document.TextBoxes.Clear() # Save the result document document.SaveToFile("output/RemoveTextbox.docx", FileFormat.Docx)
Apply for a Temporary License
If you'd like to remove the evaluation message from the generated documents, or to get rid of the function limitations, please request a 30-day trial license for yourself.