Criar documento do Word rico em Java

Nos últimos anos, a geração dinâmica de documentos do Word tornou-se um recurso popular para compor relatórios, cotações, faturas e outros tipos de documentos. Várias empresas de manufatura geram faturas com base nos dados armazenados nos bancos de dados. Nesses casos, a automação de documentos permite economizar tempo, esforços e recursos necessários no processo de criação manual de documentos. Este artigo visa direcionar o processo de automação de documentos e permite que você saiba como criar documentos do Word programaticamente em Java.

API Java para criar documentos do Word

Neste artigo, usaremos Aspose.Words for Java, que é uma API rica em recursos para criar, editar ou converter documentos do Word em aplicativos baseados em Java. Você pode baixar o JAR da API ou instalá-lo usando as seguintes configurações do Maven:

Repositório:

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>

Dependência:

<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-words</artifactId>
    <version>20.2</version>
    <classifier>jdk17</classifier>
</dependency>

Nas seções a seguir, você aprenderá a criar um documento do Word contendo diferentes elementos, como texto, parágrafo, tabela, lista, imagens, etc. programaticamente usando Java.

Criar um documento do Word usando Java

Na maioria das vezes, uma parte considerável do conteúdo de um documento do Word é baseada no texto. Portanto, começaremos nossa jornada criando um documento do Word com um título e um parágrafo. A seguir estão as etapas para criar um documento do Word:

O exemplo de código a seguir mostra como criar um documento do Word contendo texto em Java.

// Criar um objeto Documento
Document doc = new Document();
// Criar um objeto DocumentBuilder
DocumentBuilder builder = new DocumentBuilder(doc);
// Especificar a formatação da fonte
Font font = builder.getFont();
font.setSize(18);
font.setBold(true);
font.setColor(Color.BLACK);
font.setName("Arial");
builder.write("How to Create a Rich Word Document?");
builder.insertBreak(BreakType.LINE_BREAK);
// Comece o parágrafo
font.setSize(12);
font.setBold(false);
ParagraphFormat paragraphFormat = builder.getParagraphFormat();
paragraphFormat.setFirstLineIndent(12);
paragraphFormat.setKeepTogether(true);
builder.write("This article shows how to create a Word document containing text, images and lists.");
// Salve o documento
doc.save("Rich Word Document.docx");

Resultado

Gerar documento do Word em Java

Criar um documento do Word com tabela usando Java

As tabelas nos documentos do Word são usadas para organizar o conteúdo na forma de linhas e colunas. Nesta seção, criaremos uma tabela simples contendo duas linhas e duas colunas. A criação de uma tabela inclui quatro operações básicas:

  • Iniciando a mesa
  • Inserindo uma célula
  • Finalizando a linha
  • Finalizando a mesa

A seguir estão as etapas para criar uma tabela no documento do Word usando Java:

O exemplo a seguir mostra como criar uma tabela em um documento do Word.

// Criar um objeto Documento
Document doc = new Document();
// Criar um objeto DocumentBuilder
DocumentBuilder builder = new DocumentBuilder(doc);
// Criar a tabela
Table table = builder.startTable();
// Inserir uma célula
builder.insertCell();
table.autoFit(AutoFitBehavior.AUTO_FIT_TO_WINDOW);
builder.getCellFormat().setVerticalAlignment(CellVerticalAlignment.CENTER);
builder.write("This is Row 1 Cell 1");
builder.insertCell();
builder.write("This is Row 1 Cell 2");
// Linha final
builder.endRow();
// iniciar uma próxima linha e definir suas propriedades
builder.getRowFormat().setHeight(100);
builder.getRowFormat().setHeightRule(HeightRule.EXACTLY);
builder.insertCell();
builder.write("This is Row 2 Cell 1");
builder.insertCell();
builder.write("This is Row 2 Cell 2");
builder.endRow();
// Mesa final
builder.endTable();
// Salve o documento
doc.save("Rich Word Document.docx");

Resultado

Java gera documento do Word com tabela

Criar uma lista no documento do Word usando Java

A seguir estão as etapas para adicionar uma lista ao documento do Word.

  • Primeiro, crie um objeto da classe Document.
  • Adicione o tipo de lista desejado ao documento usando o método Document.getLists().add().
  • Obtenha a lista do documento em um objeto List.
  • Preencha a lista usando o objeto DocumentBuilder.
  • Por fim, salve o documento.

O exemplo de código a seguir mostra como criar uma lista no documento do Word usando Java.

// Criar um objeto Documento
Document doc = new Document();
doc.getLists().add(ListTemplate.BULLET_CIRCLE);
List list = doc.getLists().get(0);
// Defina true para especificar que a lista deve ser reiniciada em cada seção.
list.isRestartAtEachSection(true);
DocumentBuilder builder = new DocumentBuilder(doc);
builder.getListFormat().setList(list);
for (int i = 1; i < 45; i++) {
	builder.writeln(String.format("List Item " + i));
	// Inserir quebra de seção.
	if (i == 15)
		builder.insertBreak(BreakType.SECTION_BREAK_NEW_PAGE);
}
builder.getListFormat().removeNumbers();
// Salve o documento
doc.save("Rich Word Document.docx");

Resultado

Inserir lista no Word docx em Java

Inserir imagem em um documento do Word usando Java

A inserção de uma imagem em um documento do Word é tão simples quanto uma torta. A seguir estão alguns passos simples para realizar esta operação:

O exemplo de código a seguir mostra como inserir uma imagem no documento do Word usando Java.

// Criar um objeto Documento
Document doc = new Document();
// Criar DocumentBuilder
DocumentBuilder builder = new DocumentBuilder(doc);
// Inserir Imagem
builder.insertImage("aspose-words.png");
// Salve o documento
doc.save("Rich Word Document.docx");

Resultado

Inserir imagem no Word docx em Java

Conclusão

Neste artigo, você aprendeu como criar documentos avançados do Word programaticamente usando Java. Além disso, os exemplos de código mostraram como adicionar texto, tabelas, imagens e listas a documentos do Word. Você pode ler mais sobre como inserir vários elementos em um documento do Word usando Aspose.Words para Java.

Experimente o Aspose.Words para Java gratuitamente

Você pode obter uma licença temporária gratuita para experimentar e usar o Aspose.Words para Java sem limitações de avaliação.

Veja também