Automação do Microsoft Word — Crie, edite ou converta documentos do Word usando Java

A automação do Word permite criar novos documentos do Word, editar ou modificar os existentes ou convertê-los em outros formatos sem usar o Microsoft Office. Todas as ações que podemos realizar através da interface de usuário do MS Word também podem ser executadas programaticamente usando Automação. Neste artigo, aprenderemos como automatizar o MS Word para criar, editar ou converter documentos do Word usando Java.

Os seguintes tópicos serão abordados neste artigo:

Java Word Automation API para criar, editar ou converter documentos do Word

Para automatizar o Word, usaremos a API Aspose.Words for Java. É uma solução de automação do Word completa e rica em recursos para criar, editar ou analisar documentos do Word programaticamente. Por favor, baixe o JAR da API ou apenas adicione a seguinte configuração pom.xml em um aplicativo Java baseado em Maven.

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-words</artifactId>
    <version>21.11</version>
    <type>pom</type>
</dependency>

Criar documentos do Word usando Java

Podemos criar documentos do Word programaticamente seguindo as etapas abaixo:

  • Primeiramente, crie uma instância da classe Document. Esta classe representa um documento do Word.
  • Em seguida, crie uma instância da classe DocumentBuilder com o objeto Document como argumento. Esta classe fornece métodos para inserir texto, imagens e outros conteúdos, especificar fonte, parágrafo e formatação de seção.
  • Em seguida, insira/grave elementos para adicionar algum texto, parágrafos, tabela ou imagem usando o objeto DocumentBuilder.
  • Finalmente, chame o método Document.save() com o caminho do arquivo de saída para salvar o arquivo criado.

O exemplo de código a seguir mostra como criar um documento do Word (DOCX) usando Java.

// Abra o documento.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

// Definir fonte para os próximos elementos
Font font = builder.getFont();
font.setSize(25);
font.setBold(true);
font.setColor(Color.BLACK);
font.setName("Arial");

// Inserir texto
builder.writeln("Welcome!");

// Definir fonte para os próximos elementos
font.setSize(12);
font.setBold(false);

// Inserir parágrafo
builder.writeln("Aspose.Words for Java is a class library that enables your applications to perform a great range of document processing tasks.\r\n"
    + "\r\n"
    + "Aspose.Words supports most of the popular document formats such as DOC, DOCX, RTF, HTML, Markdown, PDF, XPS, EPUB, and others.\r\n"
    + "\r\n"
    + "With Aspose.Words for Java, you can generate, modify, convert, render, and print documents without third-party applications or Office Automation.");
builder.writeln();

font.setBold(true);
builder.writeln("This is a sample table");

font.setBold(false);
// Inserir uma tabela
Table table = builder.startTable();
builder.insertCell();
table.autoFit(AutoFitBehavior.AUTO_FIT_TO_CONTENTS);

builder.getCellFormat().setVerticalAlignment(CellVerticalAlignment.CENTER);

builder.write("This is row 1 cell 1");
builder.insertCell();
builder.write("This is row 1 cell 2");
builder.endRow();
builder.insertCell();
builder.write("This is row 2 cell 1");
builder.insertCell();
builder.write("This is row 2 cell 2");
builder.endRow();
builder.endTable();
builder.writeln();

// Inserir uma imagem
builder.insertImage("C:\\Files\\Words\\words_java.jpg");

// Inserir quebra de página 
builder.insertBreak(BreakType.PAGE_BREAK);             
// todos os elementos após a quebra de página serão inseridos na próxima página.

// Salve o documento
doc.save("C:\\Files\\Words\\document.docx");
Criar documentos do Word usando Java

Crie documentos do Word usando Java.

Editar ou modificar documentos do Word usando Java

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 programaticamente seguindo as etapas abaixo:

  • Primeiramente, carregue um documento do Word usando a classe Document com o caminho do arquivo de entrada como argumento.
  • 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. A classe Run representa uma série de caracteres com a mesma formatação de fonte. Todo o texto do documento é armazenado em execuções de texto.
  • Depois disso, defina o texto a ser atualizado para o parágrafo acessado.
  • Finalmente, chame o método Document.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 Java.

// Carregar documento
Document doc = new Document("C:\\Files\\Words\\document.docx");

// Acesse o parágrafo
Run paragraph = doc.getSections().get(0).getBody().getFirstParagraph().getRuns().get(0);
paragraph.setText("This is updated text");  

// Salve o documento
doc.save("C:\\Files\\Words\\Document_updated.docx");
Editar ou modificar documentos do Word usando Java

Edite ou modifique documentos do Word usando Java.

Localizar e substituir texto em documentos do Word usando Java

Também podemos atualizar o conteúdo de documentos do Word usando o mecanismo de localizar e substituir da API. Podemos fazer isso programaticamente seguindo as etapas abaixo:

  • Primeiramente, carregue um documento do Word usando a classe Document com o caminho do arquivo de entrada como argumento.
  • Em seguida, crie uma instância da classe FindReplaceOptions.
  • Em seguida, chame o método replace() com a string de pesquisa, a string de substituição e o objeto FindReplaceOptions como argumentos. Este método deve substituir cada ocorrência da string de pesquisa pela string de substituição.
  • Finalmente, chame o método Document.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 Java.

// Carregar documento
Document doc = new Document("C:\\Files\\Words\\document.docx");

// Atualizar usando localizar e substituir
// Especifique a string de pesquisa e substitua a string usando o método Replace.
doc.getRange().replace("Aspose.Words", "Hello", new FindReplaceOptions());

// Salve o documento
doc.save("C:\\Files\\Words\\Document_updated.docx");
Localizar e substituir texto em documentos do Word usando Java

Localizar e substituir texto em documentos do Word usando Java

Converter documentos do Word usando Java

Podemos converter documentos do Word para outros formatos, como PDF, XPS, EPUB, HTML, JPG, PNG, etc. programaticamente seguindo as etapas abaixo:

  • Primeiramente, carregue um documento do Word usando a classe Document com o caminho do arquivo de entrada como argumento.
  • Em seguida, crie uma instância da classe PdfSaveOptions com o objeto Document como argumento. Esta classe fornece opções adicionais ao salvar um documento no PDF.
  • Em seguida, especifique o nível de conformidade dos padrões PDF para o documento de saída definindo PdfSaveOptions.Compliance como PdfCompliance.PDF17.
  • Finalmente, chame o método Document.save() com o caminho do arquivo de saída e o objeto PdfSaveOptions como argumento para salvar o arquivo PDF.

O exemplo de código a seguir mostra como converter um documento do Word (DOCX) em um PDF usando Java.

// Carregar documento
Document doc = new Document("C:\\Files\\Words\\document.docx");

// Fornecer conformidade com PDFSaveOption para PDF17
PdfSaveOptions options = new PdfSaveOptions();
options.setCompliance(PdfCompliance.PDF_17);

// Converter Word para PDF
doc.save("C:\\Files\\Words\\output.pdf", options);
Converta documentos do Word para PDF.

Converter documentos do Word usando Java

Analisar documentos do Word usando Java

Podemos analisar documentos do Word e extrair o conteúdo como texto simples programaticamente seguindo as etapas abaixo:

  • Carregue um documento do Word usando a classe Document com o caminho do arquivo de entrada como argumento.
  • Chame o método Document.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 Java.

// Carregue o documento do disco.
Document doc = new Document("C:\\Files\\Words\\document.docx");

// Salvar como texto simples 
doc.save("C:\\Files\\Words\\output.txt");
Extraia texto de documentos do Word.

Analisar documentos do Word usando Java.

Obtenha uma licença gratuita

Experimente a API sem limitações de avaliação solicitando uma licença temporária gratuita.

Conclusão

Neste artigo, aprendemos como automatizar o Word para criar, editar ou converter documentos do Word usando Java. Também vimos como localizar e substituir texto em documentos do Word programaticamente. Além disso, você pode aprender mais sobre Aspose.Words for Java API usando a documentação. Em caso de qualquer ambiguidade, não hesite em contactar-nos no fórum.

Veja também