Preenchimento programático de formulários PDF em C# (Tutorial de programação)
Este tutorial demonstrará como interagir com formulários em arquivos PDF programaticamente.
Existem diversas bibliotecas .NET disponíveis no mercado que permitem preencher formulários PDF programaticamente em C#. Algumas delas são difíceis de entender, e algumas precisam ser pagas.
IronPDF é a melhor biblioteca .NET Core , pois é fácil de entender e gratuita para desenvolvimento. Além de preencher formulários em PDF , o IronPDF também permite criar novos PDFs a partir de strings HTML, arquivos HTML e URLs.
Vamos dar uma olhada em como preencher formulários PDF programaticamente usando C#. Primeiramente, será criada uma aplicação de console para demonstração, mas você pode usar qualquer outra de acordo com sua necessidade.
Criar um projeto do Visual Studio
Abra o Microsoft Visual Studio. Clique em Criar novo projeto > Selecione Aplicativo de console nos modelos > Clique em Avançar > Dê um nome ao seu projeto. Clique em Avançar > Selecione a estrutura de destino. Clique no botão Criar . O projeto será criado conforme mostrado abaixo.
um aplicativo de console recém-criado no Visual Studio
Instale a biblioteca IronPDF.
Conforme discutido anteriormente, a biblioteca IronPDF será utilizada neste tutorial. O principal motivo para usar esta biblioteca .NET é que ela é gratuita para desenvolvimento e fornece todos os recursos em uma única biblioteca.
Acesse o Console do Gerenciador de Pacotes. Digite o seguinte comando:
Install-Package IronPdf
Este comando instalará a biblioteca IronPDF para nós. Em seguida, vamos começar a codificação.
Leia documentos em PDF
O primeiro passo para preencher um formulário em PDF é ler o documento em PDF. Obviamente, como poderíamos preencher o formulário sem lê-lo primeiro? O seguinte documento PDF será usado para a demonstração. Você pode baixá-lo pelo link do Google Drive ou usar seu próprio documento.
O arquivo PDF de exemplo para preencher o formulário.
O código para ler este arquivo é:
using IronPdf;
// Load the PDF document from the file path
PdfDocument doc = PdfDocument.FromFile(@"D:\myPdfForm.pdf");
using IronPdf;
// Load the PDF document from the file path
PdfDocument doc = PdfDocument.FromFile(@"D:\myPdfForm.pdf");
Imports IronPdf
' Load the PDF document from the file path
Private doc As PdfDocument = PdfDocument.FromFile("D:\myPdfForm.pdf")
Passe o caminho completo do documento PDF dentro do método FromFile . Isso lerá o arquivo PDF do seu sistema local.
Obtenha formulários em PDF
Escreva a seguinte linha de código para obter o formulário do documento PDF carregado.
var form = doc.Form;
var form = doc.Form;
Dim form = doc.Form
Obter campos do formulário
Para que os campos do formulário definam seus valores, o IronPDF facilita bastante o acesso aos campos por meio de dois métodos: pelo nome do campo ou pelo índice. Vamos discutir cada um deles individualmente.
Obter campo de formulário pelo nome
O código a seguir obterá o campo pelo nome:
// Retrieve the form field using its name
var field = form.FindFormField("First Name");
// Retrieve the form field using its name
var field = form.FindFormField("First Name");
' Retrieve the form field using its name
Dim field = form.FindFormField("First Name")
O método FindFormField recebe o nome do campo como argumento. Este método é tolerante a falhas e tentará corrigir erros de maiúsculas e minúsculas e nomes de campos parciais.
Obter campo de formulário por índice
Também podemos obter os campos de formulários PDF usando o índice. O índice começa em zero. O código de exemplo a seguir é usado para obter os campos do formulário por índice.
// Retrieve the form field using its index
var field = form.Fields[0];
// Retrieve the form field using its index
var field = form.Fields[0];
' Retrieve the form field using its index
Dim field = form.Fields(0)
Preencha formulários em PDF
Em seguida, vamos combinar todo o código para preencher o formulário em PDF.
using IronPdf;
class Program
{
static void Main()
{
// Load the PDF document from the file path
PdfDocument doc = PdfDocument.FromFile(@"D:\myPdfForm.pdf");
// Access the PDF form
var form = doc.Form;
// Fill out the form fields using their index
form.Fields[0].Value = "John";
form.Fields[1].Value = "Smith";
form.Fields[2].Value = "+19159969739";
form.Fields[3].Value = "John@email.com";
form.Fields[4].Value = "Chicago";
// Save the modified PDF document
doc.SaveAs(@"D:\myPdfForm.pdf");
}
}
using IronPdf;
class Program
{
static void Main()
{
// Load the PDF document from the file path
PdfDocument doc = PdfDocument.FromFile(@"D:\myPdfForm.pdf");
// Access the PDF form
var form = doc.Form;
// Fill out the form fields using their index
form.Fields[0].Value = "John";
form.Fields[1].Value = "Smith";
form.Fields[2].Value = "+19159969739";
form.Fields[3].Value = "John@email.com";
form.Fields[4].Value = "Chicago";
// Save the modified PDF document
doc.SaveAs(@"D:\myPdfForm.pdf");
}
}
Imports IronPdf
Friend Class Program
Shared Sub Main()
' Load the PDF document from the file path
Dim doc As PdfDocument = PdfDocument.FromFile("D:\myPdfForm.pdf")
' Access the PDF form
Dim form = doc.Form
' Fill out the form fields using their index
form.Fields(0).Value = "John"
form.Fields(1).Value = "Smith"
form.Fields(2).Value = "+19159969739"
form.Fields(3).Value = "John@email.com"
form.Fields(4).Value = "Chicago"
' Save the modified PDF document
doc.SaveAs("D:\myPdfForm.pdf")
End Sub
End Class
O código de exemplo acima preencherá os campos do formulário com base nos valores dos índices. Você também pode fazer o mesmo usando os nomes de campo mencionados anteriormente. Vamos executar o programa para ver o resultado.
Formulário PDF preenchido
O formulário preenchido está no arquivo PDF de exemplo.
É possível observar que a biblioteca consegue preencher o formulário PDF com o código mais simples, sem a necessidade de lógica complexa. Por isso, o IronPDF é recomendado.
Suponhamos que você ainda não tenha nenhum documento PDF com formulários — não se preocupe, o IronPDF oferece suporte completo para gerar formulários em PDF . Siga os passos abaixo:
Gere um novo documento de formulário em PDF.
Criar um novo arquivo HTML
Crie um novo arquivo HTML e cole o seguinte código:
<!DOCTYPE html>
<html>
<body>
<h2>PDF Forms</h2>
<form action="/action_page.php">
<label for="fname">First name:</label><br>
<input type="text" id="fname" name="fname"><br>
<label for="lname">Last name:</label><br>
<input type="text" id="lname" name="lname"><br>
<label for="contact">Contact #:</label><br>
<input type="text" id="contact" name="contact"><br>
<label for="email">Email:</label><br>
<input type="text" id="email" name="email"><br>
<label for="city">City:</label><br>
<input type="text" id="city" name="city"><br>
</form>
</body>
</html>
<!DOCTYPE html>
<html>
<body>
<h2>PDF Forms</h2>
<form action="/action_page.php">
<label for="fname">First name:</label><br>
<input type="text" id="fname" name="fname"><br>
<label for="lname">Last name:</label><br>
<input type="text" id="lname" name="lname"><br>
<label for="contact">Contact #:</label><br>
<input type="text" id="contact" name="contact"><br>
<label for="email">Email:</label><br>
<input type="text" id="email" name="email"><br>
<label for="city">City:</label><br>
<input type="text" id="city" name="city"><br>
</form>
</body>
</html>
Salve este arquivo HTML de exemplo. Você pode personalizar este HTML de acordo com as necessidades do seu formulário.
Em seguida, escreva o seguinte código em seu programa C#.
using IronPdf;
class Program
{
static void Main()
{
// Create an instance of ChromePdfRenderer
var renderer = new ChromePdfRenderer();
// Render the HTML file as a PDF
var pdfDocument = renderer.RenderHtmlFileAsPdf(@"D:\myForm.html");
// Save the PDF document to the specified file path
pdfDocument.SaveAs(@"D:\myForm.pdf");
}
}
using IronPdf;
class Program
{
static void Main()
{
// Create an instance of ChromePdfRenderer
var renderer = new ChromePdfRenderer();
// Render the HTML file as a PDF
var pdfDocument = renderer.RenderHtmlFileAsPdf(@"D:\myForm.html");
// Save the PDF document to the specified file path
pdfDocument.SaveAs(@"D:\myForm.pdf");
}
}
Imports IronPdf
Friend Class Program
Shared Sub Main()
' Create an instance of ChromePdfRenderer
Dim renderer = New ChromePdfRenderer()
' Render the HTML file as a PDF
Dim pdfDocument = renderer.RenderHtmlFileAsPdf("D:\myForm.html")
' Save the PDF document to the specified file path
pdfDocument.SaveAs("D:\myForm.pdf")
End Sub
End Class
Execute o programa para visualizar o documento PDF gerado.
O formulário PDF gerado a partir de um arquivo HTML
Resumo
É importante preencher formulários em PDF de forma automática e programática. Neste artigo, é sugerida a abordagem mais simples para preencher formulários PDF em C# usando o IronPDF. Além disso, você também aprendeu como gerar novos formulários em PDF do zero.
Além disso, o IronPDF também oferece aos desenvolvedores métodos para extrair texto e conteúdo de um PDF, renderizar gráficos em PDFs, inserir códigos de barras , aprimorar a segurança com senhas e adicionar marcas d'água programaticamente.
Existem muitas outras bibliotecas úteis, como o IronBarcode para trabalhar com códigos de barras, o IronXL para trabalhar com documentos do Excel e o IronOCR para trabalhar com OCR. Você pode obter todas as cinco bibliotecas pelo preço de apenas duas comprando o pacote completo Iron Suite. Visite a página de licenciamento do Iron Software para mais detalhes.
Perguntas frequentes
Como posso preencher formulários PDF programaticamente usando C#?
O IronPDF permite preencher formulários PDF programaticamente em C# carregando o documento com PdfDocument.FromFile e acessando os campos do formulário usando doc.Form.Fields para definir seus valores.
Quais são os passos envolvidos na configuração de um projeto C# para preencher formulários PDF?
Primeiro, crie um aplicativo de console no Visual Studio. Em seguida, instale o IronPDF usando o Gerenciador de Pacotes com o comando Install-Package IronPDF . Carregue seu PDF usando PdfDocument.FromFile e manipule os campos do formulário conforme necessário.
É possível usar o IronPDF para gerar novos formulários PDF a partir de HTML em C#?
Sim, o IronPDF pode gerar novos formulários PDF renderizando formulários HTML em documentos PDF usando a classe ChromePdfRenderer . Isso permite a geração dinâmica de PDFs com base em dados inseridos em formulários da web.
Quais são as principais vantagens de usar o IronPDF para manipulação de formulários PDF em aplicações .NET?
O IronPDF oferece uma abordagem intuitiva para integrar o processamento de formulários PDF em aplicações .NET. Ele suporta preenchimento de formulários, extração de texto e segurança de documentos, com fácil integração e recursos de desenvolvimento gratuitos.
Como posso extrair texto de um formulário PDF usando o IronPDF?
O IronPDF fornece métodos para extração de texto de formulários PDF. Depois de carregar o documento com PdfDocument.FromFile , você pode acessar e extrair o conteúdo de texto usando métodos como pdfDocument.ExtractAllText() .
É possível garantir a segurança de documentos PDF usando uma biblioteca .NET?
Sim, o IronPDF oferece recursos para aprimorar a segurança de PDFs, incluindo assinaturas digitais, redação e criptografia para proteger informações confidenciais em seus documentos PDF.
Quais medidas de resolução de problemas posso tomar se os campos do meu formulário PDF não estiverem sendo atualizados conforme o esperado?
Certifique-se de que os campos do formulário estejam corretamente identificados e acessados usando o IronPDF. Verifique os nomes ou índices dos campos e use doc.Form.FindFormField('FieldName').Value = 'New Value' para atualizar os valores dos campos.
Como faço para salvar um documento PDF modificado após preencher os campos de um formulário em C#?
Após modificar os campos do formulário usando o IronPDF, salve o documento atualizado com pdfDocument.SaveAs('path/to/newfile.pdf') para persistir as alterações.
O IronPDF consegue lidar com outras operações em documentos além do processamento de formulários PDF?
Sim, o IronPDF é versátil e pode lidar com diversas operações em PDF, incluindo extração de texto, renderização de gráficos e melhorias na segurança de documentos, tornando-se uma ferramenta completa para gerenciamento de PDFs.
Como o IronPDF pode ser benéfico para desenvolvedores que trabalham com formulários PDF?
O IronPDF fornece uma API simples para preencher e manipular formulários PDF, aumentando a produtividade dos desenvolvedores ao oferecer recursos como renderização de HTML para PDF e integração com aplicativos .NET.
O IronPDF é compatível com o .NET 10? E o que isso significa para o preenchimento de formulários PDF em C# usando o IronPDF?
Sim, o IronPDF é compatível com versões modernas do .NET, incluindo .NET 8 e .NET 9, e já está em conformidade com o lançamento do .NET 10 (previsto para novembro de 2025). Isso significa que você pode continuar usando o IronPDF para preenchimento de formulários e manipulação de PDFs em C# com total compatibilidade com o .NET 10.


