Ir para o conteúdo do rodapé
USANDO O IRONPDF

Como salvar um arquivo PDF em C# (Tutorial para iniciantes)

Este artigo irá explorar como usar o IronPDF para salvar arquivos PDF a partir de um aplicativo Windows Forms ou qualquer aplicativo .NET .

A biblioteca IronPDF é uma biblioteca .NET que fornece classes e métodos fáceis de usar para gerar e trabalhar com arquivos PDF em aplicativos C#. Ele permite que os desenvolvedores criem, modifiquem e salvem arquivos PDF com apenas algumas linhas de código, tornando-o uma excelente opção para aplicativos Windows Forms.

Passo 1: Criar um novo aplicativo Windows Forms

Primeiro, crie um novo projeto no Visual Studio. Aqui estão os passos para criar uma nova aplicação Windows Forms em C# no Visual Studio 2022.

  1. Abra o Visual Studio 2022 conforme mostrado abaixo.

    Como salvar um arquivo PDF em C# (Tutorial para iniciantes), Figura 1: Visual Studio 2022 Visual Studio 2022

  2. Clique em "Criar um novo projeto" na página inicial ou acesse "Arquivo" > "Novo" > "Projeto".
  3. Na caixa de diálogo "Criar um novo projeto", selecione "Aplicativo do Windows Forms" ou "Aplicativo do Windows Forms (.NET Framework)" em "Criar um novo projeto", conforme mostrado abaixo.

    Como salvar um arquivo PDF em C# (Tutorial para iniciantes), Figura 2: Novo aplicativo de formulários Novo aplicativo de formulários

  4. Insira um nome para o seu projeto e escolha um local para salvá-lo.

    Como salvar um arquivo PDF em C# (Tutorial para iniciantes), Figura 3: Localização do projeto Localização do projeto

  5. Escolha o .NET Framework. Selecione .NET 7.0 no menu suspenso.
  6. Clique no botão Criar .

    Como salvar um arquivo PDF em C# (Tutorial para iniciantes), Figura 4: Informações adicionais Informações adicionais

  7. O Visual Studio criará um novo projeto de Aplicativo Windows Forms em C# para você, com um formulário padrão chamado "Form1" adicionado ao projeto, conforme mostrado abaixo.

    Como salvar um arquivo PDF em C# (Tutorial para iniciantes), Figura 5: Projeto Form1 Projeto Form1

É isso! Agora vamos começar a construir o aplicativo Windows Forms usando o designer, adicionando controles e funcionalidades para criar e salvar um arquivo de documento PDF.

Etapa 2: Desenhe o formulário

Você pode personalizar o formulário de acordo com suas preferências. Este tutorial ensinará como criar um design minimalista adicionando dois rótulos, uma caixa de texto formatado e dois botões.

Como salvar um arquivo PDF em C# (Tutorial para iniciantes), Figura 6: Adicionando botões ao formulário Adicionando botões ao formulário

Passo 3: Instale o IronPDF

O próximo passo é instalar o IronPDF neste projeto para utilizar suas diversas funcionalidades.

O IronPDF pode ser instalado usando o Gerenciador de Pacotes NuGet no Visual Studio. Você pode acessar o Console do Gerenciador de Pacotes NuGet indo em Ferramentas > Gerenciador de Pacotes NuGet > Console do Gerenciador de Pacotes .

Digite o seguinte comando e pressione Enter:

Install-Package IronPdf

Este comando fará o download e instalará o pacote IronPDF em seu projeto. Após a instalação, podemos começar a usar o IronPDF.

Escreva o código para criar e salvar um arquivo PDF.

Para começar o fluxo, escreva dois métodos: Save_Click e getFilePath na classe Form1.cs. Esses métodos são usados ​​em conjunto para salvar o conteúdo de uma caixa de texto como um arquivo PDF usando a biblioteca de classes ChromePdfRenderer . Vamos analisar cada método para entender como ele funciona.

Método Save_Click (Criar documento PDF)

O método a seguir é um manipulador de eventos para um evento de clique de botão. O objetivo deste método é salvar o conteúdo de uma caixa de texto como um arquivo PDF.

private void Save_Click(object sender, EventArgs e)
{
    // Get the file path to save the PDF file.
    string filename = getFilePath();

    // If the file path is not empty or null, proceed with saving the PDF file.
    if (!String.IsNullOrEmpty(filename))
    {
        // Create a new instance of the ChromePdfRenderer class.
        var renderer = new ChromePdfRenderer();

        // Render the file contents of the text box as a PDF document using the ChromePdfRenderer.
        var pdfDocument = renderer.RenderHtmlAsPdf(pdfContent.Text);

        // Save the PDF document to the specified file path using the SaveAs method.
        pdfDocument.SaveAs(filename);

        // Show a message box to indicate that the PDF file has been saved successfully.
        MessageBox.Show("PDF has been saved Successfully!");
    }
}
private void Save_Click(object sender, EventArgs e)
{
    // Get the file path to save the PDF file.
    string filename = getFilePath();

    // If the file path is not empty or null, proceed with saving the PDF file.
    if (!String.IsNullOrEmpty(filename))
    {
        // Create a new instance of the ChromePdfRenderer class.
        var renderer = new ChromePdfRenderer();

        // Render the file contents of the text box as a PDF document using the ChromePdfRenderer.
        var pdfDocument = renderer.RenderHtmlAsPdf(pdfContent.Text);

        // Save the PDF document to the specified file path using the SaveAs method.
        pdfDocument.SaveAs(filename);

        // Show a message box to indicate that the PDF file has been saved successfully.
        MessageBox.Show("PDF has been saved Successfully!");
    }
}
Private Sub Save_Click(ByVal sender As Object, ByVal e As EventArgs)
	' Get the file path to save the PDF file.
	Dim filename As String = getFilePath()

	' If the file path is not empty or null, proceed with saving the PDF file.
	If Not String.IsNullOrEmpty(filename) Then
		' Create a new instance of the ChromePdfRenderer class.
		Dim renderer = New ChromePdfRenderer()

		' Render the file contents of the text box as a PDF document using the ChromePdfRenderer.
		Dim pdfDocument = renderer.RenderHtmlAsPdf(pdfContent.Text)

		' Save the PDF document to the specified file path using the SaveAs method.
		pdfDocument.SaveAs(filename)

		' Show a message box to indicate that the PDF file has been saved successfully.
		MessageBox.Show("PDF has been saved Successfully!")
	End If
End Sub
$vbLabelText   $csharpLabel

Segue abaixo uma descrição passo a passo de como esse método funciona:

  1. O método chama o método getFilePath para obter o caminho do arquivo onde o arquivo PDF será salvo.
  2. Se o caminho do arquivo não estiver vazio ou for nulo, o método prossegue com o salvamento do arquivo PDF.
  3. O método cria uma nova instância da classe ChromePdfRenderer. Esta é uma biblioteca que permite converter conteúdo HTML em documentos PDF usando o mecanismo do navegador Google Chrome.
  4. O método então usa o método RenderHtmlAsPdf da classe ChromePdfRenderer para converter o conteúdo HTML da caixa de texto pdfContent em um documento PDF. Este documento PDF está atribuído à variável PdfDocument .
  5. O método salva o documento PDF no caminho de arquivo especificado usando o método SaveAs da classe PdfDocument.
  6. Por fim, o método exibe uma caixa de mensagem indicando que o arquivo PDF foi salvo com sucesso.

Método getFilePath (Salvar arquivos PDF)

Este método é usado para exibir um SaveFileDialog para o usuário selecionar o caminho do arquivo onde o arquivo PDF será salvo.

public string getFilePath()
{
    // Create a new instance of the SaveFileDialog class.
    SaveFileDialog saveFileDialog1 = new SaveFileDialog();

    // Set the initial directory where the SaveFileDialog will open.
    saveFileDialog1.InitialDirectory = @"D:\";

    // Set the title of the SaveFileDialog.
    saveFileDialog1.Title = "Save the PDF Files";

    // Set the SaveFileDialog to check if the specified path exists.
    saveFileDialog1.CheckPathExists = true;

    // Set the default extension for the file type.
    saveFileDialog1.DefaultExt = ".pdf";

    // Set the filter to display only PDF files or all files.
    saveFileDialog1.Filter = "PDF files (*.pdf)|*.pdf|All files (*.*)|*.*";

    // Set the filter index to display the PDF filter as the default.
    saveFileDialog1.FilterIndex = 2;

    // Set the RestoreDirectory property to true so that the SaveFileDialog
    // restores the current directory before closing.
    saveFileDialog1.RestoreDirectory = true;

    // Show the SaveFileDialog and get the result.
    if (saveFileDialog1.ShowDialog() == DialogResult.OK)
    {
        // If the user clicked the OK button in the SaveFileDialog, return the selected file path.
        return saveFileDialog1.FileName;
    }
    // If the user did not click the OK button, return an empty string.
    return String.Empty;
}
public string getFilePath()
{
    // Create a new instance of the SaveFileDialog class.
    SaveFileDialog saveFileDialog1 = new SaveFileDialog();

    // Set the initial directory where the SaveFileDialog will open.
    saveFileDialog1.InitialDirectory = @"D:\";

    // Set the title of the SaveFileDialog.
    saveFileDialog1.Title = "Save the PDF Files";

    // Set the SaveFileDialog to check if the specified path exists.
    saveFileDialog1.CheckPathExists = true;

    // Set the default extension for the file type.
    saveFileDialog1.DefaultExt = ".pdf";

    // Set the filter to display only PDF files or all files.
    saveFileDialog1.Filter = "PDF files (*.pdf)|*.pdf|All files (*.*)|*.*";

    // Set the filter index to display the PDF filter as the default.
    saveFileDialog1.FilterIndex = 2;

    // Set the RestoreDirectory property to true so that the SaveFileDialog
    // restores the current directory before closing.
    saveFileDialog1.RestoreDirectory = true;

    // Show the SaveFileDialog and get the result.
    if (saveFileDialog1.ShowDialog() == DialogResult.OK)
    {
        // If the user clicked the OK button in the SaveFileDialog, return the selected file path.
        return saveFileDialog1.FileName;
    }
    // If the user did not click the OK button, return an empty string.
    return String.Empty;
}
Public Function getFilePath() As String
	' Create a new instance of the SaveFileDialog class.
	Dim saveFileDialog1 As New SaveFileDialog()

	' Set the initial directory where the SaveFileDialog will open.
	saveFileDialog1.InitialDirectory = "D:\"

	' Set the title of the SaveFileDialog.
	saveFileDialog1.Title = "Save the PDF Files"

	' Set the SaveFileDialog to check if the specified path exists.
	saveFileDialog1.CheckPathExists = True

	' Set the default extension for the file type.
	saveFileDialog1.DefaultExt = ".pdf"

	' Set the filter to display only PDF files or all files.
	saveFileDialog1.Filter = "PDF files (*.pdf)|*.pdf|All files (*.*)|*.*"

	' Set the filter index to display the PDF filter as the default.
	saveFileDialog1.FilterIndex = 2

	' Set the RestoreDirectory property to true so that the SaveFileDialog
	' restores the current directory before closing.
	saveFileDialog1.RestoreDirectory = True

	' Show the SaveFileDialog and get the result.
	If saveFileDialog1.ShowDialog() = DialogResult.OK Then
		' If the user clicked the OK button in the SaveFileDialog, return the selected file path.
		Return saveFileDialog1.FileName
	End If
	' If the user did not click the OK button, return an empty string.
	Return String.Empty
End Function
$vbLabelText   $csharpLabel

Segue abaixo uma descrição passo a passo de como esse método funciona:

  1. O método cria uma nova instância da classe SaveFileDialog. Essa classe faz parte da biblioteca Windows Forms e fornece uma caixa de diálogo que permite ao usuário selecionar o caminho do arquivo PDF onde ele será salvo.
  2. O método define várias propriedades do objeto SaveFileDialog para personalizar seu comportamento. A propriedade InitialDirectory define o diretório onde a caixa de diálogo será aberta inicialmente. A propriedade Title define o título da caixa de diálogo. A propriedade CheckPathExists especifica se a caixa de diálogo deve verificar se o caminho especificado existe. A propriedade DefaultExt define a extensão de arquivo padrão para o tipo de arquivo. A propriedade Filter define os filtros de tipo de arquivo que são exibidos na caixa de diálogo. A propriedade FilterIndex define o filtro padrão a ser exibido. Por fim, a propriedade RestoreDirectory especifica se a caixa de diálogo deve restaurar o diretório atual antes de ser fechada.
  3. O método mostra o SaveFileDialog chamando seu método ShowDialog. Este método exibe a caixa de diálogo e retorna um valor DialogResult que indica se o usuário clicou no botão "OK" ou no botão Cancelar.
  4. Se o usuário clicar no botão "OK", o método retorna o caminho do arquivo que o usuário selecionou acessando a propriedade FileName do SaveFileDialog.
  5. Se o usuário clicar no botão "Cancelar" ou fechar a caixa de diálogo, o método retorna uma string vazia.

Vamos executar o projeto e ver o resultado. Execute o projeto e o seguinte formulário será aberto.

Como salvar um arquivo PDF em C# (Tutorial para iniciantes), Figura 7: Executando um projeto do Windows Forms Executando um projeto do Windows Forms

Insira o conteúdo do seu PDF e clique no botão "Salvar", conforme mostrado abaixo.

Como salvar um arquivo PDF em C# (Tutorial para iniciantes), Figura 8: Caixa de diálogo Salvar Caixa de diálogo Salvar

O seguinte PDF foi criado.

Como salvar um arquivo PDF em C# (Tutorial para iniciantes), Figura 9: Arquivo PDF criado Arquivo PDF criado

O IronPDF oferece uma maneira simples de converter conteúdo HTML em documentos PDF e salvá-los em um caminho de arquivo selecionado pelo usuário usando a classe ChromePdfRenderer e a caixa de diálogo SaveFileDialog.

Conclusão

Salvar arquivos PDF a partir de um aplicativo Windows Forms é um requisito comum, e o IronPDF oferece um método fácil de usar e flexível para realizar essa tarefa. Este artigo demonstrou como usar o IronPDF para criar, adicionar conteúdo e salvar arquivos em um aplicativo Windows Forms em C#. Com o IronPDF, os desenvolvedores podem gerar arquivos PDF de alta qualidade a partir de seus aplicativos com apenas algumas linhas de código.

O IronPDF oferece uma variedade de recursos, como tutorial de conversão de HTML para PDF , exemplo de código para mesclar PDFs, guia para dividir páginas de PDFs , instruções para extrair texto e imagens e muito mais. O IronPDF é gratuito para desenvolvimento e está disponível sob uma Licença Comercial com um período de avaliação gratuito , que permite aos desenvolvedores usá-lo em projetos comerciais e inclui suporte dedicado e atualizações.

Além disso, o IronPDF faz parte do Iron Suite , que é um pacote de componentes de software .NET que inclui bibliotecas para:

Adquirir o conjunto completo Iron Suite é uma solução econômica, pois você leva os cinco produtos pelo preço de dois.

Perguntas frequentes

Como posso salvar um arquivo PDF em um aplicativo Windows Forms em C#?

É possível salvar um arquivo PDF em um aplicativo Windows Forms em C# usando o IronPDF, configurando um formulário com controles como caixas de texto e botões e implementando o método Save_Click para renderizar e salvar o conteúdo como um PDF usando a classe ChromePdfRenderer .

Quais são os passos envolvidos na configuração de uma aplicação Windows Forms para salvar PDFs usando C#?

Para configurar um aplicativo Windows Forms para salvar PDFs, crie um novo projeto no Visual Studio, adicione os controles necessários, como rótulos e uma caixa de texto formatado, e instale o IronPDF por meio do Gerenciador de Pacotes NuGet para utilizar seus recursos de renderização de PDF.

Como posso converter conteúdo HTML em PDF usando C#?

Em C#, você pode converter conteúdo HTML em PDF usando o método RenderHtmlAsPdf do IronPDF, que permite pegar strings HTML e renderizá-las diretamente em documentos PDF.

Qual é o papel do método Save_Click no contexto da geração de PDFs?

O método Save_Click atua como um manipulador de eventos dentro da aplicação, responsável por capturar o evento de clique de um botão para iniciar o processo de renderização do conteúdo da caixa de texto em um arquivo PDF usando as classes de renderização do IronPDF.

Como faço para solicitar aos usuários que selecionem um caminho de arquivo para salvar um PDF em um aplicativo C#?

Em uma aplicação C#, você pode solicitar aos usuários que selecionem um caminho de arquivo para salvar um PDF usando a classe SaveFileDialog , que permite configurar uma interface para seleção de arquivo e retornar o caminho escolhido para salvar o PDF renderizado.

Quais recursos avançados o IronPDF oferece para manipulação de PDFs?

O IronPDF oferece recursos avançados, como conversão de HTML para PDF, mesclagem de PDFs, divisão de páginas de PDFs e extração de texto e imagens, fornecendo um conjunto abrangente de ferramentas para manipulação de PDFs em aplicativos .NET.

Existe algum custo associado ao uso do IronPDF para geração de PDFs em projetos comerciais?

O IronPDF é gratuito para fins de desenvolvimento com uma licença de avaliação. No entanto, para projetos comerciais, é necessária uma licença comercial, que inclui benefícios como suporte dedicado e atualizações regulares.

O que é o Iron Suite e como ele beneficia os desenvolvedores?

O Iron Suite é uma coleção de bibliotecas .NET, incluindo ferramentas para geração de códigos de barras, manipulação de documentos do Excel e processamento de PDFs. Oferece uma solução econômica para desenvolvedores que precisam de múltiplas funcionalidades em seus aplicativos.

O IronPDF é compatível com o .NET 10 e quais são os benefícios disso para salvar PDFs em C#?

Sim — o IronPDF oferece suporte completo ao .NET 10, incluindo projetos para desktop, web e multiplataforma. A compilação com o .NET 10 proporciona melhorias como desempenho de tempo de execução mais rápido, acesso a recursos modernos do C# e integração mais estreita com as funcionalidades da plataforma, o que torna a criação e o salvamento de PDFs por meio dos métodos RenderHtmlAsPdf e SaveAs do IronPDF mais eficientes.

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