Crie e obtenha campos de formulário de documentos do Word com Java

Java é uma linguagem de computador extremamente popular para automatizar a criação e manipulação de documentos do Microsoft Word (DOC, DOCX). Como programador Java, você pode escrever código para produzir, alterar e salvar documentos do Word programaticamente usando várias bibliotecas Java. Isso pode economizar tempo e esforço ao realizar operações como geração de relatórios, criação de faturamento ou processamento de grandes volumes de dados. Além disso, devido à sua independência de plataforma, o Java é uma alternativa viável para automatizar documentos em vários sistemas operacionais. Neste artigo, explicaremos como criar e obter campos de formulário de documentos do Word com Java.

Os seguintes pontos serão abordados neste artigo:

Biblioteca Java Word Automation - Instalação

Usaremos Conholdate.Total for Java para automatizar documentos do MS Word. O procedimento de instalação desta biblioteca de automação Java Word é bastante fácil. Os usuários do Maven podem apenas incluir as seguintes configurações no arquivo pom.xml de seus projetos.

<repository>
	<id>ConholdateJavaAPI</id>
	<name>Conholdate Java API</name>
	<url>https://releases.conholdate.com/java/repo</url>
</repository>        
<dependency>
	<groupId>com.conholdate</groupId>
	<artifactId>conholdate-total</artifactId>
	<version>23.2</version>
	<type>pom</type>
</dependency>

Em seguida, execute os seguintes comandos.

mvn clean    
mvn install -U

Para configurar outras estruturas Java, visite releases.conholdate.com.

Java Word Automation: Criar campos de formulário em documentos do Word

Um formulário é um documento que possui espaços em branco (campos) de preenchimento. Usando o Microsoft Word, você pode criar um formulário de registro com listas suspensas nas quais os usuários podem escolher entradas. O campo Formulário é usado para armazenar tipos específicos de dados, como nome ou endereço. Entrada de texto, caixas de combinação e caixas de seleção são exemplos de campos de formulário no Microsoft Word. Nas subseções a seguir, explicaremos como automatizar documentos do Word para criar campos de formulário usando Java.

Crie um campo de texto de entrada em um documento do Word com Java

Nesta subseção, você aprenderá como criar um campo de entrada de texto em um documento do Word (DOC/DOCX) usando Java. Por favor, siga os passos indicados abaixo:

  1. Primeiro, crie um objeto da classe Document.
  2. Em seguida, crie um objeto da classe DocumentBuilder e inicialize-o com o objeto Document.
  3. Depois disso, adicione um campo de entrada de texto usando o método DocumentBuilder.insertTextInput.
  4. Finalmente, salve o documento.

O exemplo de código a seguir demonstra como inserir um campo de texto de entrada em um documento do Word usando Java. O documento do Word resultante mostrará o campo de entrada de texto criado conforme a captura de tela a seguir.

Crie um campo de texto de entrada em um documento do Word com Java

Adicione um menu suspenso em um documento do Word usando Java

Esta subseção explicará como criar um menu suspenso em um documento do Word (DOC/DOCX) em Java.

As etapas são dadas a seguir:

  1. Primeiro, inicialize o objeto da classe Document.
  2. Segundo, instanciar um objeto da classe de objeto DocumentBuilder.
  3. Terceiro, insira um campo suspenso usando o método DocumentBuilder.insertComboBox.
  4. Finalmente, salve o documento.

O exemplo de código a seguir demonstra como inserir um menu suspenso em um documento do Word usando Java. A saída será mostrada na captura de tela a seguir.

Crie um campo suspenso em um documento do Word usando Java

Inserir uma caixa de seleção em um documento do Word com Java

Aqui, você aprenderá como inserir uma caixa de seleção em documentos do MS Word com Java.

Por favor, escreva o código de acordo com as etapas abaixo:

  1. Primeiro, crie o objeto da classe Document.
  2. Em seguida, crie um objeto DocumentBuilder e inicialize-o com o objeto Document.
  3. Depois disso, crie um campo de caixa de seleção usando o método DocumentBuilder.insertCheckBox.
  4. Finalmente, salve o documento.

O exemplo de código a seguir demonstra como criar uma caixa de seleção em documentos do Word usando Java.

Obtenha campos de formulário de documentos do Word usando a biblioteca Java Word Automation

Até agora você aprendeu como adicionar os diferentes campos de formulário em um documento do Word com Java. Nesta seção explicaremos como obter os campos de formulário de um arquivo Word com Java.

Suponha que temos um arquivo contendo 4 campos de formulário. Vamos aprender como obter coleta de campos e como obter campos por nome ou índice. Por favor, siga o guia passo a passo fornecido abaixo:

  1. Primeiro, carregue o documento do Word usando a classe Document.
Document doc = new Document("FormFields.doc");
  1. Obtenha o objeto da classe FormFieldCollection que pode ser recuperado usando o método Range.getFormFields.
FormFieldCollection formFields = doc.getRange().getFormFields();
  1. Para obter um determinado campo por seu índice, você pode recuperar o objeto da classe FormField usando o método get(int index) de FormFieldCollection.
FormField formField1 = documentFormFields.get(3);
  1. Da mesma forma, você pode obter pelo nome o objeto da classe FormField usando o método sobrecarregado get(string name) de FormFieldCollection.
FormField formField2 = documentFormFields.get("Text2");

O exemplo de código a seguir resume todas as etapas acima.

Obtenha uma licença gratuita

Você pode baixar uma licença temporária gratuita para testar a API sem limitações de avaliação.

Resumindo

Neste artigo, explicamos como obter e criar campos de formulário em documentos do MS Word com Java. Discutimos as etapas para adicionar campos de entrada de texto, drop-down e caixa de seleção em um arquivo DOC/DOCX. Por fim, discutimos as etapas para obter os campos de formulário de um documento do Word.

Para saber mais sobre a biblioteca de automação do Java Word, visite a documentação.

Finalmente, continue visitando conholdate.com para atualizações regulares.

Faça uma pergunta

Sinta-se à vontade para postar suas perguntas ou comentários em nosso fórum.

Veja também