Python: crear, leer o actualizar un documento de Word

2023-12-18 03:09:38

Crear, leer y actualizar documentos de Word es una necesidad común para muchos desarrolladores que trabajan con el lenguaje de programación Python. Ya sea generando informes, manipulando documentos existentes o automatizando procesos de creación de documentos, tener la capacidad de trabajar con documentos de Word mediante programación puede mejorar enormemente la productividad y la eficiencia. En este artículo, aprenderá cómo cree, lea o actualice documentos de Word en Python usando Spire.Doc for Python.

Instalar Spire.Doc for Python

Este escenario requiere Spire.Doc for Python y plum-dispatch v1.7.4. Se pueden instalar fácilmente en su código VS mediante el siguiente comando pip.

pip install Spire.Doc

Si no está seguro de cómo instalarlo, consulte este tutorial: Cómo instalar Spire.Doc for Python en VS Code

Crear un documento de Word desde cero en Python

Spire.Doc for Python ofrece la clase Documento para representar un modelo de documento de Word. Un documento debe contener al menos una sección (representada por la clase Sección) y cada sección es un contenedor para varios elementos, como párrafos, tablas, gráficos e imágenes. Este ejemplo le muestra cómo crear un documento de Word simple que contenga varios párrafos usando Spire.Doc para Python.

  • Crea un objeto de documento.
  • Agregue una sección usando el método Document.AddSection().
  • Establezca los márgenes de la página a través de la propiedad Sección.PageSetUp.Margins.
  • Agregue varios párrafos a la sección usando el método Sección.AddParagraph().
  • Agregue texto a los párrafos usando el método Paragraph.AppendText().
  • Cree un objeto ParagraphStyle y aplíquelo a un párrafo específico utilizando el método Paragraph.ApplyStyle().
  • Guarde el documento en un archivo de Word utilizando el 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

Leer texto de un documento de Word en Python

Para obtener el texto de un documento de Word completo, simplemente puede usar el método Document.GetText(). Los siguientes son los pasos detallados.

  • Crea un objeto de documento.
  • Cargue un documento de Word utilizando el método Document.LoadFromFile().
  • Obtenga texto de todo el documento utilizando el 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

Actualizar un documento de Word en Python

Para acceder a un párrafo específico, puede utilizar la propiedad Sección.Paragrafos[índice]. Si desea modificar el texto del párrafo, puede reasignar texto al párrafo a través de la propiedad Paragraph.Text. Los siguientes son los pasos detallados.

  • Crea un objeto de documento.
  • Cargue un documento de Word utilizando el método Document.LoadFromFile().
  • Obtenga una sección específica a través de la propiedad Document.Sections[index].
  • Obtenga un párrafo específico a través de la propiedad Sección.Paragraphs[index].
  • Cambie el texto del párrafo a través de la propiedad Paragraph.Text.
  • Guarde el documento en otro archivo de Word utilizando el 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

Solicitar una licencia temporal

Si desea eliminar el mensaje de evaluación de los documentos generados o deshacerse de las limitaciones de la función, por favor solicitar una licencia de prueba de 30 días para ti.

Ver también