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
- Criar documentos do Word usando Java
- Editar ou modificar documentos do Word usando Java
- Localizar e substituir texto em documentos do Word usando Java
- Converter documentos do Word usando Java
- Analisar documentos do Word usando Java
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");
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");
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");
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);
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");
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.