Python: Create, Read, or Update a Word Document
Creating, reading, and updating Word documents is a common need for many developers working with the Python programming language. Whether it's generating reports, manipulating existing documents, or automating document creation processes, having the ability to work with Word documents programmatically can greatly enhance productivity and efficiency. In this article, you will learn how to create, read, or update Word documents in Python using Spire.Doc for Python.
- Create a Word Document from Scratch in Python
- Read Text of a Word Document in Python
- Update a Word Document in 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
Create a Word Document from Scratch in Python
Spire.Doc for Python offers the Document class to represent a Word document model. A document must contain at least one section (represented by the Section class) and each section is a container for various elements such as paragraphs, tables, charts, and images. This example shows you how to create a simple Word document containing several paragraphs using Spire.Doc for Python.
- Create a Document object.
- Add a section using Document.AddSection() method.
- Set the page margins through Section.PageSetUp.Margins property.
- Add several paragraphs to the section using Section.AddParagraph() method.
- Add text to the paragraphs using Paragraph.AppendText() method.
- Create a ParagraphStyle object, and apply it to a specific paragraph using Paragraph.ApplyStyle() method.
- Save the document to a Word file using Document.SaveToFile() method.
- Python
from spire.doc import * from spire.doc.common import * # Create a Document object doc = Document() # Add a section section = doc.AddSection() # Set the page margins section.PageSetup.Margins.All = 40 # Add a title titleParagraph = section.AddParagraph() titleParagraph.AppendText("Introduction of Spire.Doc for Python") # Add two paragraphs bodyParagraph_1 = section.AddParagraph() bodyParagraph_1.AppendText("Spire.Doc for Python is a professional Python library designed for developers to " + "create, read, write, convert, compare and print Word documents in any Python application " + "with fast and high-quality performance.") bodyParagraph_2 = section.AddParagraph() bodyParagraph_2.AppendText("As an independent Word Python API, Spire.Doc for Python doesn't need Microsoft Word to " + "be installed on neither the development nor target systems. However, it can incorporate Microsoft Word " + "document creation capabilities into any developers' Python applications.") # Apply heading1 to the title titleParagraph.ApplyStyle(BuiltinStyle.Heading1) # Create a style for the paragraphs style2 = ParagraphStyle(doc) style2.Name = "paraStyle" style2.CharacterFormat.FontName = "Arial" style2.CharacterFormat.FontSize = 13 doc.Styles.Add(style2) bodyParagraph_1.ApplyStyle("paraStyle") bodyParagraph_2.ApplyStyle("paraStyle") # Set the horizontal alignment of the paragraphs titleParagraph.Format.HorizontalAlignment = HorizontalAlignment.Center bodyParagraph_1.Format.HorizontalAlignment = HorizontalAlignment.Left bodyParagraph_2.Format.HorizontalAlignment = HorizontalAlignment.Left # Set the after spacing titleParagraph.Format.AfterSpacing = 10 bodyParagraph_1.Format.AfterSpacing = 10 # Save to file doc.SaveToFile("output/WordDocument.docx", FileFormat.Docx2019)
Read Text of a Word Document in Python
To get the text of an entire Word document, you could simply use Document.GetText() method. The following are the detailed steps.
- Create a Document object.
- Load a Word document using Document.LoadFromFile() method.
- Get text from the entire document using Document.GetText() method.
- Python
from spire.doc import * from spire.doc.common import * # Create a Document object doc = Document() # Load a Word file doc.LoadFromFile("C:\\Users\\Administrator\\Desktop\\WordDocument.docx") # Get text from the entire document text = doc.GetText() # Print text print(text)
Update a Word Document in Python
To access a specific paragraph, you can use the Section.Paragraphs[index] property. If you want to modify the text of the paragraph, you can reassign text to the paragraph through the Paragraph.Text property. The following are the detailed steps.
- Create a Document object.
- Load a Word document using Document.LoadFromFile() method.
- Get a specific section through Document.Sections[index] property.
- Get a specific paragraph through Section.Paragraphs[index] property.
- Change the text of the paragraph through Paragraph.Text property.
- Save the document to another Word file using Document.SaveToFile() method.
- Python
from spire.doc import * from spire.doc.common import * # Create a Document object doc = Document() # Load a Word file doc.LoadFromFile("C:\\Users\\Administrator\\Desktop\\WordDocument.docx") # Get a specific section section = doc.Sections[0] # Get a specific paragraph paragraph = section.Paragraphs[1] # Change the text of the paragraph paragraph.Text = "The title has been changed" # Save to file doc.SaveToFile("output/Updated.docx", FileFormat.Docx2019)
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.
Python: Add Background Color or Picture to Word Documents
Adding background colors or pictures to your Word documents is a powerful way to enhance their visual appeal and captivate your audience. Whether you're creating a professional report, a creative flyer, or a personal invitation, incorporating a well-chosen background color or image can transform an ordinary document into a visually captivating piece. In this article, we will demonstrate how to add a background color or picture to a Word document in Python using Spire.Doc for Python.
- Add a Background Color to Word in Python
- Add a Gradient Background to Word in Python
- Add a Background Picture to Word in 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 Background Color to Word in Python
You can set a background color for a Word document by changing its background type to "Color" and then selecting a color as the background. The detailed steps are as follows.
- Create a Document object.
- Load a Word document using Document.LoadFromFile() method.
- Get the background of the document using Document.Background property.
- Set the background type as Color using Background.Type property.
- Set a color as the background using Background.Color property.
- Save the resulting document 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("Sample.docx") # Get the document's background background = document.Background # Set the background type as Color background.Type = BackgroundType.Color # Set the background color background.Color = Color.get_AliceBlue() #save the resulting document document.SaveToFile("AddBackgroundColor.docx", FileFormat.Docx2016) document.Close()
Add a Gradient Background to Word in Python
A gradient background refers to a background style that transitions smoothly between two or more colors. To add a gradient background, you need to change the background type as "Gradient", specify the gradient colors and then set the gradient shading variant and style. The detailed steps are as follows.
- Create a Document object.
- Load a Word document using Document.LoadFromFile() method.
- Get the background of the document using Document.Background property.
- Set the background type as Gradient using Background.Type property.
- Set two gradient colors using Background.Gradient.Color1 and Background.Gradient.Color2 properties.
- Set gradient shading variant and style using Background.Gradient.ShadingVariant and Background.Gradient.ShadingStyle properties.
- Save the resulting document 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("Sample.docx") # Get the document's background background = document.Background # Set the background type as Gradient background.Type = BackgroundType.Gradient # Set two gradient colors background.Gradient.Color1 = Color.get_White() background.Gradient.Color2 = Color.get_LightBlue() # Set gradient shading variant and style background.Gradient.ShadingVariant = GradientShadingVariant.ShadingDown background.Gradient.ShadingStyle = GradientShadingStyle.Horizontal #Save the resulting document document.SaveToFile("AddGradientBackground.docx", FileFormat.Docx2016) document.Close()
Add a Background Picture to Word in Python
To add a background picture to a Word document, you need to change the background type as "Picture", and then set a picture as the background. The detailed steps are as follows.
- Create a Document object.
- Load a Word document using Document.LoadFromFile() method.
- Get the background of the document using Document.Background property.
- Set the background type as Picture using Background.Type property.
- Set a picture as the background using Background.SetPicture() method.
- Save the resulting document 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("Sample.docx") # Get the document's background background = document.Background # Set the background type as Picture background.Type = BackgroundType.Picture # Set the background picture background.SetPicture("background.jpg") #save the resulting document document.SaveToFile("AddBackgroundPicture.docx", FileFormat.Docx2016) document.Close()
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.