
Os campos de formulário são um dos componentes integrais ao lidar com dados do cliente e se torna fácil distribuir os formulários PDF Acro com os usuários para que eles possam preencher os formulários com dados de sua escolha e enviá-los de volta. Estamos familiarizados com o fato de que uma variedade de campos de formulário pode ser usada, mas entre todos eles, TextBox, CheckBox, RadioButton e ComboBoxes são muito comuns. Então, uma vez que os dados foram preenchidos nos formulários Acro, nós analisamos os campos do formulário no back office para extrair dados deles e salvá-los em FDF, XML, ou diretamente em bancos de dados.
Embora todas as operações, incluindo criação de formulários PDF, adição de campos de formulário, atividade de atualização de campos de formulário possam ser realizadas manualmente, ao lidar com um grande conjunto de documentos, a operação manual não parece ser viável porque consome tempo e é propensa a erros devido ao manuseio manual de dados. Portanto, rotinas automáticas por meio de linguagem de programação podem ser uma solução viável. Portanto, ao criar um programa, temos a opção de usar uma solução/API local que pode nos ajudar a cumprir todos os requisitos ou usar APIs REST hospedadas na nuvem para analisar os campos do formulário.
Benefícios da API REST
As APIs RESTful ganham um salto aqui porque você não precisa manter o controle manual de todas as versões da API. Além disso, você não precisa manter seu sistema atualizado com versões da API e não precisa se preocupar com problemas de compatibilidade das APIs com uma determinada linguagem de programação, etc. Portanto, apresentamos Aspose.PDF Cloud SDK para Java que fornece os recursos para criar, manipular e transformar documentos PDF em outros formatos de arquivo suportados. O Java SDK é desenvolvido sobre as APIs REST do Aspose.PDF Cloud que podem ser facilmente acessadas usando comandos cURL e os SDKs são desenvolvidos para facilitar nossos clientes usando uma linguagem de programação específica.
Neste blog, vamos esclarecer como analisar diferentes campos de formulário:
- Ler, adicionar ou atualizar campos TextBox
- Analisar campos de formulário CheckBox
- Adicionar ou atualizar campos RadioButton
- Manipular campos de formulário ComboBox
Ler, adicionar ou atualizar campos TextBox
A API oferece três maneiras de ler informações associadas aos campos TextBox.
| API | Tipo | Descrição | Link Swagger |
| ——————————————– | ———– | ——————————————– | —————————— |
| /pdf/{name}/fields/textbox | GET | Ler campos TextBox do documento | GetDocumentTextBoxFields |
| /pdf/{nome}/página/{númerodapagina}/campos/caixadetexto | OBTER | Ler campos da caixa de texto do documento para uma determinada página | GetPageTextBoxFields |
| /pdf/{name}/fields/textbox/{fieldName} | GET | Ler campos TextBox do documento por um nome de campo | GetTextBoxField |
Comando cURL para ler campos TextBox
Como os arquivos são armazenados em seu armazenamento pessoal em nuvem, você precisa primeiro gerar um token de autenticação JWT que requer seu ID de cliente e segredo de cliente personalizados.
curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=xxxx&client_secret=xxxx" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"
curl -X GET "https://api.aspose.cloud/v3.0/pdf/FormDataTextBox.pdf/fields/textbox" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>"
Exemplo FormDataTextBox.pdf usado no exemplo acima.
Java
// Para exemplos completos e arquivos de dados, acesse https://github.com/aspose-pdf-cloud/aspose-pdf-cloud-java
const string clientID = "xxxxxx-1c8e-4ea4-a948-3857547232fa";
const string clientSecret = "xxxxxx613237f013e329cdf5694cc96a";
import com.aspose.asposecloudpdf.ApiException;
import com.aspose.asposecloudpdf.api.PdfApi;
import com.aspose.asposecloudpdf.examples.Common;
import com.aspose.asposecloudpdf.model.FieldResponse;
public class GetFieldTestExample {
public static void main(String[] args) throws ApiException {
String name = "PdfWithAcroForm.pdf";
// crie uma instância do objeto PdfAPi
com.aspose.asposecloudpdf.api.PdfApi pdf = new com.aspose.asposecloudpdf.api.PdfApi(clientSecret,clientID);
// Ler campos TextBox do documento
TextBoxFieldsResponse response = pdf.getDocumentTextBoxFields("FormDataTextBox.pdf",null, null);
// imprima os detalhes sobre os campos buscados
System.out.println(response.getFields());
}
}
Analisar campos de formulário CheckBox
Ao lidar com CheckBoxes, a API também fornece recursos para ler valores de CheckBox, adicionar uma nova caixa de seleção ou atualizar as propriedades associadas a uma caixa de seleção existente no formulário PDF.
- ObterDocumentoCheckBoxFields - Read document checkbox fields
- ObterCampos de Caixa de Seleção de Página - Read specific page checkbox fields
- ObterCampoCheckBox - Read document checkbox field by name
Comando cURL para ler CheckBox na página 1
curl -X GET "https://api.aspose.cloud/v3.0/pdf/FormDataTextBox.pdf/page/1/fields/checkbox" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>"
Comando CURL para atualizar CheckBox na página 1
curl -X PUT "https://api.aspose.cloud/v3.0/pdf/FormDataTextBox.pdf/fields/checkbox/Check%20Box1" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>" \
-H "Content-Type: application/json" \
-d "{ \"Links\": [ { \"Href\": \"string\", \"Rel\": \"string\", \"Type\": \"string\", \"Title\": \"string\" } ], \"PartialName\": \"Aspose CheckBox\", \"FullName\": \"Aspose CheckBox\", \"Rect\": { \"LLX\": 88.3573, \"LLY\": 687.617, \"URX\": 97.0198, \"URY\": 695.413 }, \"Value\": \"null\", \"PageIndex\": 1, \"Height\": 12, \"Width\": 12, \"ZIndex\": 0, \"IsGroup\": false, \"IsSharedField\": true, \"Flags\": [ \"Default\" ], \"Color\": { \"A\": 0, \"R\": 150, \"G\": 120, \"B\": 0 }, \"Contents\": \"Field Updated\", \"Margin\": { \"Left\": 0, \"Right\": 0, \"Top\": 0, \"Bottom\": 0 }, \"Highlighting\": \"None\", \"HorizontalAlignment\": \"Left\", \"VerticalAlignment\": \"Center\", \"Border\": { \"Width\": 1, \"EffectIntensity\": 1, \"Style\": \"Solid\", \"Effect\": \"None\", \"Dash\": { \"On\": 1, \"Off\": 2 }, \"Color\": { \"A\": 255, \"R\": 120, \"G\": 120, \"B\": 0 } }, \"AllowedStates\": [ \"Yes\",\"Off\" ], \"Style\": \"Circle\", \"ActiveState\": \"On\", \"Checked\": true, \"ExportValue\": \"Yes\"}"
URL da solicitação
https://api.aspose.cloud/v3.0/pdf/FormDataTextBox.pdf/fields/checkbox/Check%20Box1
Java
// Para exemplos completos e arquivos de dados, acesse https://github.com/aspose-pdf-cloud/aspose-pdf-cloud-java
const string clientID = "xxxxxx-1c8e-4ea4-a948-3857547232fa";
const string clientSecret = "xxxxxx613237f013e329cdf5694cc96a";
import com.aspose.asposecloudpdf.model.Rectangle;
import com.aspose.asposecloudpdf.model.CheckBoxField;
import com.aspose.asposecloudpdf.model.Border;
import com.aspose.asposecloudpdf.model.Color;
import com.aspose.asposecloudpdf.model.CheckBoxFieldResponse;
public class UpdateCheckBoxFieldExample {
public static void main(String[] args) throws ApiException {
// crie uma instância do objeto PdfAPi
com.aspose.asposecloudpdf.api.PdfApi pdf = new com.aspose.asposecloudpdf.api.PdfApi(clientSecret,clientID);
// Criar instância CheckBox
CheckBoxField updatedCheckBox = new CheckBoxField();
updatedCheckBox.partialName("Check Box1");
updatedCheckBox.height(12.0);
updatedCheckBox.width(12.0);
// definir estilo de caixa de seleção como Diamante
updatedCheckBox.style(com.aspose.asposecloudpdf.model.BoxStyle.DIAMOND);
updatedCheckBox.activeState("On");
// habilitar o valor da caixa de seleção
updatedCheckBox.checked(true);
Rectangle rect = new Rectangle();
rect.setLLX(88.3573);
rect.setLLY(687.617);
rect.setURX(97.0198);
rect.setURY(695.413);
updatedCheckBox.rect(rect);
// especifique os detalhes do índice da página
updatedCheckBox.pageIndex(1);
// definir detalhes do estilo de borda da caixa de seleção
Border border = new Border();
border.width(1);
border.style(com.aspose.asposecloudpdf.model.BorderStyle.SOLID);
border.effect(com.aspose.asposecloudpdf.model.BorderEffect.NONE);
// Objeto de cor para borda
Color color = new Color();
color.setR(120);
color.setG(220);
color.setB(10);
// definir cor da borda da caixa de seleção
border.color(color);
// chamar método para atualizar campo de caixa de seleção na página 1
CheckBoxFieldResponse response = pdf.putCheckBoxField("FormDataTextBox.pdf", "Check Box1", updatedCheckBox,null,null);
// imprimir código de status de resposta
System.out.print(response.getStatus());
}
}
Depois que o comando/código é executado, as propriedades associadas ao campo da caixa de seleção 1 são atualizadas, conforme mostrado na imagem abaixo.

Imagem 1:- Visualização da caixa de seleção 1 atualizada usando o comando cURL
Adicionar ou atualizar campos RadioButton
Semelhante aos campos TextBox e CheckBox, o Cloud SDK também fornece recursos para ler e atualizar campos RadioButton em documentos PDF.
Comando cURL para ler campos RadioButton em documento PDF
curl -X GET "https://api.aspose.cloud/v3.0/pdf/FormDataTextBox.pdf/fields/radiobutton" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>"
URL da solicitação
https://api.aspose.cloud/v3.0/pdf/FormDataTextBox.pdf/fields/radiobutton
Manipular campos de formulário ComboBox
Observe que a manipulação do ComboBox se torna muito útil com a ajuda do Aspose.PDF Cloud SDK para Java. Você tem a opção de ler campos ComboBox existentes no documento, adicionar um novo campo ComboBox ou atualizar um ComboBox existente.
- ObterDocumentoComboBoxFields - Read document combobox fields
- ObterCamposPageComboBox - Read particular page combobox fields
- ObterComboBoxField - Read document combobox field by name
- Campos de caixa de combinação de postagem - Add ComboBox field to document
- ColocarCampoComboBox - Replace document combobox field
Comando cURL para ler todos os campos ComboBox
curl -X GET "https://api.aspose.cloud/v3.0/pdf/FormDataTextBox.pdf/fields/combobox" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>"
URL da solicitação
https://api.aspose.cloud/v3.0/pdf/FormDataTextBox.pdf/fields/combobox
Conclusão
Conforme explicado no artigo acima, o processamento de campos de formulário se tornou bem fácil com a ajuda de APIs de nuvem. Você pode considerar ler um blog relacionado Form Parser | Form Recognizer | PDF Filling | Automate form processing with REST Web API.