Automatización de palabras de Python

Podemos automatizar MS Word para crear nuevos documentos de Word (DOC o DOCX), editar o modificar los existentes, o convertirlos a otros formatos sin utilizar Microsoft Office. La automatización de Python MS Word permite realizar programáticamente todas las acciones que podemos realizar a través de la interfaz de usuario de MS Word. En este artículo, aprenderemos cómo automatizar MS Word para crear, editar o convertir documentos de Word usando Python.

Este artículo cubre todas las características básicas requeridas para generar y manipular documentos de Word mediante programación usando Python. Este artículo incluye los siguientes temas:

Python MS Word Automation API para crear, editar o convertir documentos de Word

Para automatizar Word, utilizaremos la API Aspose.Words for Python. Es una solución de automatización de Word completa y rica en funciones para crear, editar o analizar documentos de Word mediante programación. La clase Document de la API representa un documento de Word. La API proporciona la clase DocumentBuilder que ofrece varios métodos para insertar texto, imágenes y otro contenido en el documento. Esta clase también permite especificar el formato de fuente, párrafo y sección. La clase Run de la API representa una serie de caracteres con el mismo formato de fuente. Instale la biblioteca en su aplicación Python desde PyPI usando el siguiente comando pip.

pip install aspose-words

Crear documentos de Word usando Python

Podemos crear documentos de Word mediante programación siguiendo los pasos que se detallan a continuación:

  • En primer lugar, cree una instancia de la clase Document.
  • A continuación, cree una instancia de la clase DocumentBuilder con el objeto Document como argumento.
  • Después de eso, inserte/escriba elementos para agregar texto, párrafos, tablas o imágenes usando el objeto DocumentBuilder.
  • Finalmente, llame al método save() con la ruta del archivo de salida como argumento para guardar el archivo creado.

El siguiente ejemplo de código muestra cómo crear un documento de Word (DOCX) usando Python.

import aspose.words as aw

# This code example demonstrates how to create a new Word document using Python.
# Create document object
doc = aw.Document()

# Create a document builder object
builder = aw.DocumentBuilder(doc)

# Specify font formatting Font
font = builder.font
font.size = 32
font.bold = True
font.name = "Arial"
font.underline = aw.Underline.SINGLE

# Insert text
builder.writeln("Welcome")
builder.writeln()

# Set paragraph formatting
font.size = 14
font.bold = False
font.name = "Arial"
font.underline = aw.Underline.NONE

paragraphFormat = builder.paragraph_format
paragraphFormat.first_line_indent = 8
paragraphFormat.alignment = aw.ParagraphAlignment.JUSTIFY
paragraphFormat.keep_together = True

# Insert paragraph
builder.writeln('''Aspose.Words for Python is a class library that enables your applications to perform a great range of document processing tasks. 
    It supports most of the popular document formats such as DOC, DOCX, RTF, HTML, Markdown, PDF, XPS, EPUB, and others. 
    With the API, you can generate, modify, convert, render, and print documents without third-party applications or Office Automation.
''')
builder.writeln()

# Insert a Table
font.bold = True
builder.writeln("This is a sample table")
font.bold = False

# Start table
table = builder.start_table()

# Insert cell
builder.insert_cell()
table.auto_fit(aw.tables.AutoFitBehavior.AUTO_FIT_TO_CONTENTS)

# Set formatting and add text
builder.cell_format.vertical_alignment = aw.tables.CellVerticalAlignment.CENTER

builder.write("Row 1 cell 1")
builder.insert_cell()
builder.write("Row 1 cell 2")
builder.end_row()

builder.insert_cell()
builder.write("Row 2 cell 1")
builder.insert_cell()
builder.write("Row 2 cell 2")
builder.end_row()

# End table
builder.end_table()
builder.writeln()

# Insert image
builder.insert_image("C:\\Files\\aspose-icon.png")

# Save document
doc.save("C:\\Files\\sample_output.docx")
Crear documentos de Word

Crear documentos de Word usando Python.

Edite o modifique documentos de Word usando Python

En la sección anterior, creamos un documento de Word. Ahora, editémoslo y cambiemos el contenido del documento. Podemos editar documentos de Word siguiendo los pasos que se detallan a continuación:

  • En primer lugar, cargue un documento de Word existente utilizando la clase Document.
  • A continuación, acceda a la sección específica por su índice.
  • Luego, acceda al contenido del primer párrafo como un objeto de la clase Run.
  • Después de eso, configure el texto para que se actualice para el párrafo al que se accedió.
  • Finalmente, llame al método save() con la ruta del archivo de salida para guardar el archivo actualizado.

El siguiente ejemplo de código muestra cómo editar un documento de Word (DOCX) usando Python.

import aspose.words as aw

# This code example demonstrates how to edit an existing Word document.
# Load the document
doc = aw.Document("C:\\Files\\sample_output.docx")

# Initialize document builder
builder = aw.DocumentBuilder(doc)

# Access the paragraph
paragraph = doc.sections[0].body.paragraphs[0].runs[0]
paragraph.text = "This is an updated text!"

# Save the document
doc.save("C:\\Files\\sample_updated.docx")
Editar o modificar documentos de Word

Edite o modifique documentos de Word usando Python.

Buscar y reemplazar texto en documentos de Word usando Python

También podemos encontrar cualquier texto y reemplazarlo con un nuevo texto siguiendo los pasos que se detallan a continuación:

  • En primer lugar, cargue un documento de Word utilizando la clase Document.
  • A continuación, cree una instancia de la clase FindReplaceOptions.
  • Después de eso, llama al método replace(). Toma la cadena de búsqueda, la cadena de reemplazo y el objeto FindReplaceOptions como argumentos.
  • Finalmente, llame al método save() con la ruta del archivo de salida para guardar el archivo actualizado.

El siguiente ejemplo de código muestra cómo buscar y reemplazar texto específico en un documento de Word (DOCX) usando Python.

import aspose.words as aw

# This code example demonstrates how to find and replace text in Word document.
# Load the document
doc = aw.Document("C:\\Files\\sample_output.docx")

# Update using find and replace
# Specify the search string and replace string using the Replace method.
doc.range.replace("Aspose.Words", "Hello", 
    aw.replacing.FindReplaceOptions(aw.replacing.FindReplaceDirection.FORWARD))

# Save the document
doc.save("C:\\Files\\find_and_replace.docx")
Buscar y reemplazar texto en documentos de Word

Buscar y reemplazar texto en documentos de Word.

Convertir documentos de Word usando Python

Podemos convertir documentos de Word a otros formatos como PDF, XPS, EPUB, HTML, JPG, PNG, etc. Siga los pasos que se indican a continuación para convertir un documento de Word en una página web HTML:

  • En primer lugar, cargue un documento de Word utilizando la clase Document.
  • A continuación, cree una instancia de la clase HtmlSaveOptions con el objeto Document como argumento.
  • Después de eso, especifique las propiedades cssstylesheettype, exportfontresources, resourcefolder y alias.
  • Finalmente, llame al método save() con la ruta del archivo de salida y el objeto HtmlSaveOptions como argumentos para guardar el archivo HTML convertido.

El siguiente ejemplo de código muestra cómo convertir un documento de Word (DOCX) a HTML mediante Python.

import aspose.words as aw

# This code example demonstrates how to convert a Word document to PDF.
# Load an existing Word document
doc = aw.Document("C:\\Files\\sample_output.docx")

# Specify save options
saveOptions = aw.saving.HtmlSaveOptions()
saveOptions.css_style_sheet_type = aw.saving.CssStyleSheetType.EXTERNAL
saveOptions.export_font_resources = True
saveOptions.resource_folder = "C:\\Files\\Resources"
saveOptions.resource_folder_alias = "C:/Files/resources"

# Save the converted document
doc.save("C:\\Files\\Converted.html", saveOptions)
Convert Word Documents using Python.

Del mismo modo, también podemos convertir documentos de Word a otros formatos compatibles. Lea más sobre cómo convertir Word a EPUB, Word a PDF, Documento de Word a Markdown, Word a JPG o imágenes PNG en la documentación .

Analizar documentos de Word usando Python

Podemos analizar documentos de Word y extraer el contenido como texto sin formato siguiendo los pasos que se detallan a continuación:

  • En primer lugar, cargue un documento de Word utilizando la clase Document.
  • A continuación, extraiga e imprima el texto.
  • Finalmente, llame al método save() para guardar el documento de Word como un archivo de texto. Este método toma la ruta del archivo de salida como argumento.

El siguiente ejemplo de código muestra cómo analizar un documento de Word (DOCX) usando Python.

import aspose.words as aw

# This code example demonstrates how to parse a Word document.
# Load the document
doc = aw.Document("C:\\Files\\Sample.docx")

# Extract text
print(doc.range.text)

# Save as plain text
doc.save("C:\\Files\\output.txt")

Obtenga una licencia gratis

Puede obtener una licencia temporal gratuita para probar la biblioteca sin limitaciones de evaluación.

Conclusión

En este artículo, hemos aprendido a:

  • automatizar MS Word usando Python;
  • crear y editar documentos de Word mediante programación;
  • analizar o convertir archivos DOCX;
  • busque y reemplace texto en documentos de Word usando Python.

Además, puede obtener más información sobre Aspose.Words for Python API utilizando la documentación. En caso de cualquier ambigüedad, no dude en contactarnos en el foro.

Ver también