Ir para o conteúdo do rodapé
USANDO O IRONPDF
Como preencher um PDF programaticamente usando o IronPDF

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.

Preenchimento programático de formulários PDF em C# (Tutorial de programação), Figura 1: um aplicativo de console recém-criado no Visual Studio 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.

Preenchimento programático de formulários PDF em C# (Tutorial de programação), Figura 2: O arquivo PDF de exemplo para preencher o formulário 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")
$vbLabelText   $csharpLabel

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
$vbLabelText   $csharpLabel

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")
$vbLabelText   $csharpLabel

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)
$vbLabelText   $csharpLabel

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
$vbLabelText   $csharpLabel

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

Preenchimento programático de formulários PDF em C# (Tutorial de programação), Figura 3: 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>
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
$vbLabelText   $csharpLabel

Execute o programa para visualizar o documento PDF gerado.

Preenchimento programático de formulários PDF em C# (Tutorial de programação), Figura 3: O formulário PDF gerado a partir de um arquivo HTML 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.

Curtis Chau
Redator Técnico

Curtis Chau é bacharel em Ciência da Computação (Universidade Carleton) e se especializa em desenvolvimento front-end, com experiência em Node.js, TypeScript, JavaScript e React. Apaixonado por criar interfaces de usuário intuitivas e esteticamente agradáveis, Curtis gosta de trabalhar com frameworks modernos e criar manuais ...

Leia mais

Equipe de suporte de ferro

Estamos online 24 horas por dia, 5 dias por semana.
Bater papo
E-mail
Liga para mim