Python: crie, leia ou atualize um documento do Word

2023-12-18 03:13:20

Criar, ler e atualizar documentos do Word é uma necessidade comum para muitos desenvolvedores que trabalham com a linguagem de programação Python. Seja gerando relatórios, manipulando documentos existentes ou automatizando processos de criação de documentos, ter a capacidade de trabalhar com documentos do Word de forma programática pode aumentar muito a produtividade e a eficiência. Neste artigo você aprenderá como crie, leia ou atualize documentos do Word em Python usando Spire.Doc for Python.

Instale Spire.Doc for Python

Este cenário requer Spire.Doc for Python e plum-dispatch v1.7.4. Eles podem ser facilmente instalados em seu VS Code por meio do seguinte comando pip.

pip install Spire.Doc

Se você não tiver certeza de como instalar, consulte este tutorial: Como instalar Spire.Doc for Python no código VS

Crie um documento do Word do zero em Python

Spire.Doc for Python oferece a classe Document para representar um modelo de documento do Word. Um documento deve conter pelo menos uma seção (representada pela classe Section) e cada seção é um contêiner para vários elementos, como parágrafos, tabelas, gráficos e imagens. Este exemplo mostra como criar um documento Word simples contendo vários parágrafos usando Spire.Doc para Python.

  • Crie um objeto Documento.
  • Adicione uma seção usando o método Document.AddSection().
  • Defina as margens da página através da propriedade Section.PageSetUp.Margins.
  • Adicione vários parágrafos à seção usando o método Section.AddParagraph().
  • Adicione texto aos parágrafos usando o método Paragraph.AppendText().
  • Crie um objeto ParagraphStyle e aplique-o a um parágrafo específico usando o método Paragraph.ApplyStyle().
  • Salve o documento em um arquivo Word usando o método Document.SaveToFile().
  • 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)

Python: Create, Read, or Update a Word Document

Leia o texto de um documento do Word em Python

Para obter o texto de um documento Word inteiro, você pode simplesmente usar o método Document.GetText(). A seguir estão as etapas detalhadas.

  • Crie um objeto Documento.
  • Carregue um documento do Word usando o método Document.LoadFromFile().
  • Obtenha o texto de todo o documento usando o método Document.GetText().
  • 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)

Python: Create, Read, or Update a Word Document

Atualizar um documento do Word em Python

Para acessar um parágrafo específico, você pode usar a propriedade Section.Paragraphs[index]. Se quiser modificar o texto do parágrafo, você pode reatribuir o texto ao parágrafo por meio da propriedade Paragraph.Text. A seguir estão as etapas detalhadas.

  • Crie um objeto Documento.
  • Carregue um documento do Word usando o método Document.LoadFromFile().
  • Obtenha uma seção específica através da propriedade Document.Sections[index].
  • Obtenha um parágrafo específico através da propriedade Section.Paragraphs[index].
  • Altere o texto do parágrafo através da propriedade Paragraph.Text.
  • Salve o documento em outro arquivo do Word usando o método Document.SaveToFile().
  • 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)

Python: Create, Read, or Update a Word Document

Solicite uma licença temporária

Se desejar remover a mensagem de avaliação dos documentos gerados ou se livrar das limitações de função, por favor solicite uma licença de teste de 30 dias para você mesmo.

Veja também