Skip to main content

Python API for Creating, Reading, Manipulating, and Converting Word Documents

Spire.Doc for Python

Product Page | Documentation | Examples | Forum | Temporary License | Customized Demo

Spire.Doc for Python is a powerful and easy-to-use Word document processing library. It empowers developers to create, read, modify, and convert Word documents in Python applications without the need for Microsoft Word or any other third-party software.

Supported Word Versions

The following are the Word versions supported by Spire.Doc for Python:

  • Word 97-03
  • Word 2007
  • Word 2010
  • Word 2013
  • Word 2016
  • Word 2019

Supported Operating Systems

The following are the operating systems supported by Spire.Doc for Python:

  • Windows
  • Linux
  • MacOS

Key Features of Spire.Doc for Python

Spire.Doc for Python provides a comprehensive set of features for working with various Word formats including DOC, DOCX, DOCM, DOT, DOTX, DOTM, and more.

The following list shows some key features offered by Spire.Doc for Python:

  1. Document Conversion:

  2. Document Creation and Manipulation:

  3. Document Protection:

  4. Mail Merge:

    • Perform Mail Merge in Word
  5. Text Manipulation:

  6. Image and Shape Manipulation:

  7. Table Creation and Manipulation:

  8. Hyperlink Manipulation:

  9. Header and Footer Manipulation:

  10. Watermark Manipulation:

  11. Bookmark Manipulation:

  12. List Manipulation:

  13. Comment Manipulation:

  14. Form Field Manipulation:

  15. Text and Paragraph Formatting:

  16. Page Setup:

  17. Textbox and OLE Manipulation:

  18. Footnote and Endnote Manipulation:

Examples

Create a Word Document from Scratch in Python

The following code shows how to create a Word document from scratch and add content to it using Python and Spire.Doc for 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)

Convert a Word Document to PDF in Python

The following code shows how to convert a Word document to PDF using Python and Spire.Doc for Python:

from spire.doc import *
from spire.doc.common import *

# Create word document
document = Document()

# Load a doc or docx file
document.LoadFromFile("C:\\Users\\Administrator\\Desktop\\input.docx")

#Save the document to PDF
document.SaveToFile("output/ToPDF.pdf", FileFormat.PDF)
document.Close()

Convert a Word Document to Images in Python

The following code shows how to convert a Word document to images using Python and Spire.Doc for Python:

from spire.doc import *
from spire.doc.common import *

# Create a Document object
document = Document()

# Load a Word file
document.LoadFromFile("C:\\Users\\Administrator\\Desktop\\input.docx")

# Loop through the pages in the document
for i in range(document.GetPageCount()):

    # Convert a specific page to bitmap image
    imageStream = document.SaveImageToStreams(i, ImageType.Bitmap)

    # Save the bitmap to a PNG file
    with open('Output/ToImage-{0}.png'.format(i),'wb') as imageFile:
        imageFile.write(imageStream.ToArray())

document.Close()

Product Page | Documentation | Examples | Forum | Temporary License | Customized Demo

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

spire_doc-14.8.1-py3-none-win_amd64.whl (29.1 MB view details)

Uploaded Python 3Windows x86-64

spire_doc-14.8.1-py3-none-manylinux_2_34_x86_64.whl (45.0 MB view details)

Uploaded Python 3manylinux: glibc 2.34+ x86-64

spire_doc-14.8.1-py3-none-manylinux2014_aarch64.whl (25.6 MB view details)

Uploaded Python 3

spire_doc-14.8.1-py3-none-macosx_11_0_arm64.whl (29.5 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

spire_doc-14.8.1-py3-none-macosx_10_7_universal.whl (53.7 MB view details)

Uploaded Python 3macOS 10.7+ universal (x86-64, i386, PPC64, PPC)

File details

Details for the file spire_doc-14.8.1-py3-none-win_amd64.whl.

File metadata

  • Download URL: spire_doc-14.8.1-py3-none-win_amd64.whl
  • Upload date:
  • Size: 29.1 MB
  • Tags: Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.11

File hashes

Hashes for spire_doc-14.8.1-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 ab70b388b01a83c368b564000f74c7781008a6c6802b7a78f93c529792beaffc
MD5 e9640ba026393229b2d32389bdec4297
BLAKE2b-256 8edca3437f2ea54373c668a875d0b6ab24e89022a93d98ca34ee8abb8f9d3b15

See more details on using hashes here.

File details

Details for the file spire_doc-14.8.1-py3-none-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for spire_doc-14.8.1-py3-none-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 93b0442fd4ba0b391f38193b6fc4ff31497afed7e544b436470b34523c4e207e
MD5 da6e81afcca1f825b8d32abc784e57f7
BLAKE2b-256 a29a206f51a4db363d6990f9c5ec132041629b73fe3b1e9e69030f5121f13876

See more details on using hashes here.

File details

Details for the file spire_doc-14.8.1-py3-none-manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for spire_doc-14.8.1-py3-none-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 a7333e81b8ad9bc3d02c13d14983daf186271f112b1a77ff2b8d599a17a83793
MD5 a20b662784f30741b36c29a9fd17150f
BLAKE2b-256 158d428425d6532eafb775e58e43ade8b17b54e3c66ff1e8741df22a53106d2f

See more details on using hashes here.

File details

Details for the file spire_doc-14.8.1-py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for spire_doc-14.8.1-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1b4a00fa295c5f7953aca069f31f51a711619590be7a9d2ab9099d233a050a64
MD5 d8d4b98e07165acab6f64a4518d34f59
BLAKE2b-256 7704046b07440961b95874f3d0c6ba0e57d927af63a315e2467d8ba5d4a4d619

See more details on using hashes here.

File details

Details for the file spire_doc-14.8.1-py3-none-macosx_10_7_universal.whl.

File metadata

File hashes

Hashes for spire_doc-14.8.1-py3-none-macosx_10_7_universal.whl
Algorithm Hash digest
SHA256 589afb2a6596aef27d4e35f5369b5d72aa2e03a1061d0362f635c3bb2581d1bb
MD5 481616862f2aebc1cd3ca1779a1900c3
BLAKE2b-256 685753b9ce8601cb392bee87051cbdbe4255c3d8cb013e3d35b23d0e4340d929

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

14.8.1 This release

5 files

14.6.2

5 files

14.6.1

5 files

14.4.2

5 files

14.1.6

5 files

14.1.0

4 files

13.12.0

4 files

13.8.0

4 files

13.6.4

4 files

13.4.6

4 files

13.3.8

4 files

13.3.7

4 files

13.1.0

3 files

12.12.0

3 files

12.7.1

3 files

12.6.0

3 files

12.4.0

3 files

12.3.2

2 files

12.2.1

2 files

12.2.0

2 files

12.1.0

2 files

11.10.0

2 files

11.8.1

2 files

11.8.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page