Podemos automatizar o MS Word para criar novos documentos Word (DOC ou DOCX), editar ou modificar os existentes ou convertê-los em outros formatos sem usar o Microsoft Office. A automação do Python MS Word permite realizar todas as ações programaticamente que podemos realizar através da interface do usuário do MS Word. Neste artigo, aprenderemos como automatizar o MS Word para criar, editar ou converter documentos do Word usando Python.
Este artigo aborda todos os recursos básicos necessários para gerar e manipular documentos do Word programaticamente usando Python. Este artigo inclui os seguintes tópicos:
- Python MS Word Automation API para criar, editar ou converter documentos do Word
- Criar documentos do Word
- Editar ou modificar documentos do Word
- Localizar e substituir texto em documentos do Word
- Converter documentos do Word
- Analisar documentos do Word
Python MS Word Automation API para criar, editar ou converter documentos do Word
Para automatizar o Word, usaremos a API Aspose.Words for Python. É uma solução de automação do Word completa e rica em recursos para criar, editar ou analisar documentos do Word programaticamente. A classe Document da API representa um documento do Word. A API fornece a classe DocumentBuilder que oferece vários métodos para inserir texto, imagens e outros conteúdos no documento. Essa classe também permite especificar a formatação de fonte, parágrafo e seção. A classe Run da API representa uma série de caracteres com a mesma formatação de fonte. Instale a biblioteca em seu aplicativo Python de PyPI usando o seguinte comando pip.
pip install aspose-words
Criar documentos do Word usando Python
Podemos criar documentos do Word programaticamente seguindo as etapas abaixo:
- Primeiramente, crie uma instância da classe Document.
- Em seguida, crie uma instância da classe DocumentBuilder com o objeto Document como argumento.
- Depois disso, insira/grave elementos para adicionar algum texto, parágrafos, tabelas ou imagens usando o objeto DocumentBuilder.
- Por fim, chame o método save() com o caminho do arquivo de saída como argumento para salvar o arquivo criado.
O exemplo de código a seguir mostra como criar um documento do Word (DOCX) usando Python.
import aspose.words as aw
# Este exemplo de código demonstra como criar um novo documento do Word usando Python.
# Criar objeto de documento
doc = aw.Document()
# Criar um objeto do construtor de documentos
builder = aw.DocumentBuilder(doc)
# Especificar a formatação da fonte Fonte
font = builder.font
font.size = 32
font.bold = True
font.name = "Arial"
font.underline = aw.Underline.SINGLE
# Inserir texto
builder.writeln("Welcome")
builder.writeln()
# Definir formatação de parágrafo
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
# Inserir parágrafo
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()
# Inserir uma tabela
font.bold = True
builder.writeln("This is a sample table")
font.bold = False
# Iniciar tabela
table = builder.start_table()
# Inserir célula
builder.insert_cell()
table.auto_fit(aw.tables.AutoFitBehavior.AUTO_FIT_TO_CONTENTS)
# Definir formatação e adicionar texto
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()
# Mesa final
builder.end_table()
builder.writeln()
# Inserir Imagem
builder.insert_image("C:\\Files\\aspose-icon.png")
# Salvar documento
doc.save("C:\\Files\\sample_output.docx")
Editar ou modificar documentos do Word usando Python
Na seção anterior, criamos um documento do Word. Agora, vamos editá-lo e alterar o conteúdo do documento. Podemos editar documentos do Word seguindo as etapas abaixo:
- Em primeiro lugar, carregue um documento do Word existente usando a classe Document.
- Em seguida, acesse a seção específica pelo seu índice.
- Em seguida, acesse o conteúdo do primeiro parágrafo como um objeto da classe Run.
- Depois disso, defina o texto a ser atualizado para o parágrafo acessado.
- Por fim, chame o método save() com o caminho do arquivo de saída para salvar o arquivo atualizado.
O exemplo de código a seguir mostra como editar um documento do Word (DOCX) usando Python.
import aspose.words as aw
# Este exemplo de código demonstra como editar um documento do Word existente.
# Carregar o documento
doc = aw.Document("C:\\Files\\sample_output.docx")
# Inicialize o criador de documentos
builder = aw.DocumentBuilder(doc)
# Acesse o parágrafo
paragraph = doc.sections[0].body.paragraphs[0].runs[0]
paragraph.text = "This is an updated text!"
# Salve o documento
doc.save("C:\\Files\\sample_updated.docx")
Localizar e substituir texto em documentos do Word usando Python
Também podemos encontrar qualquer texto e substituí-lo por um novo texto seguindo as etapas abaixo:
- Em primeiro lugar, carregue um documento do Word usando a classe Document.
- Em seguida, crie uma instância da classe FindReplaceOptions.
- Depois disso, chame o método replace(). Ele usa a string de pesquisa, a string de substituição e o objeto FindReplaceOptions como argumentos.
- Por fim, chame o método save() com o caminho do arquivo de saída para salvar o arquivo atualizado.
O exemplo de código a seguir mostra como localizar e substituir texto específico em um documento do Word (DOCX) usando Python.
import aspose.words as aw
# Este exemplo de código demonstra como localizar e substituir texto em um documento do Word.
# Carregar o documento
doc = aw.Document("C:\\Files\\sample_output.docx")
# Atualizar usando localizar e substituir
# Especifique a string de pesquisa e substitua a string usando o método Replace.
doc.range.replace("Aspose.Words", "Hello",
aw.replacing.FindReplaceOptions(aw.replacing.FindReplaceDirection.FORWARD))
# Salve o documento
doc.save("C:\\Files\\find_and_replace.docx")
Converter documentos do Word usando Python
Podemos converter documentos do Word para outros formatos, como PDF, XPS, EPUB, HTML, JPG, PNG, etc. Siga as etapas abaixo para converter um documento do Word em uma página da Web HTML:
- Em primeiro lugar, carregue um documento do Word usando a classe Document.
- Em seguida, crie uma instância da classe HtmlSaveOptions com o objeto Document como argumento.
- Depois disso, especifique as propriedades cssstylesheettype, exportfontresources, resourcefolder e alias.
- Por fim, chame o método save() com o caminho do arquivo de saída e o objeto HtmlSaveOptions como argumentos para salvar o arquivo HTML convertido.
O exemplo de código a seguir mostra como converter um documento do Word (DOCX) em HTML usando Python.
import aspose.words as aw
# Este exemplo de código demonstra como converter um documento do Word em PDF.
# Carregar um documento do Word existente
doc = aw.Document("C:\\Files\\sample_output.docx")
# Especifique as opções de salvamento
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"
# Salve o documento convertido
doc.save("C:\\Files\\Converted.html", saveOptions)
Da mesma forma, também podemos converter documentos do Word para outros formatos suportados. Leia mais sobre como converter Word para EPUB, Word to PDF, Documento do Word para Markdown, Word to JPG, or PNG images na documentação .
Analisar documentos do Word usando Python
Podemos analisar documentos do Word e extrair o conteúdo como texto simples seguindo as etapas abaixo:
- Em primeiro lugar, carregue um documento do Word usando a classe Document.
- Em seguida, extraia e imprima o texto.
- Por fim, chame o método save() para salvar o documento do Word como um arquivo de texto. Esse método usa o caminho do arquivo de saída como argumento.
O exemplo de código a seguir mostra como analisar um documento do Word (DOCX) usando Python.
import aspose.words as aw
# Este exemplo de código demonstra como analisar um documento do Word.
# Carregar o documento
doc = aw.Document("C:\\Files\\Sample.docx")
# Extrair texto
print(doc.range.text)
# Salvar como texto simples
doc.save("C:\\Files\\output.txt")
Obtenha uma licença gratuita
Você pode obter uma licença temporária gratuita para experimentar a biblioteca sem limitações de avaliação.
Conclusão
Neste artigo, aprendemos como:
- automatizar o MS Word usando Python;
- criar e editar documentos do Word programaticamente;
- analisar ou converter arquivos DOCX;
- localizar e substituir texto em documentos do Word usando Python.
Além disso, você pode aprender mais sobre a API Aspose.Words for Python usando a documentação. Em caso de qualquer ambiguidade, não hesite em contactar-nos no fórum.