USO DE IRONPDF

Cómo guardar un archivo PDF en C# (Tutorial para principiantes)

Actualizado 23 de mayo, 2023
Compartir:

Este artículo explorará cómo utilizar IronPDF para guardar archivos PDF desde una aplicación Windows Forms o cualquier aplicación .NET.

IronPDF es una biblioteca .NET que proporciona clases y métodos fáciles de usar para generar archivos PDF y trabajar con ellos en aplicaciones C#. Permite a los desarrolladores crear, modificar y guardar archivos PDF con sólo unas pocas líneas de código, lo que la convierte en una excelente opción para aplicaciones Windows Forms.

Paso 1: Crear una nueva aplicación Windows Forms

En primer lugar, cree un nuevo proyecto de Visual Studio. Estos son los pasos para crear una nueva aplicación C# Windows Forms en Visual Studio 2022

  1. Abra Visual Studio 2022 como se muestra a continuación.

    Cómo guardar un archivo PDF en C# (Tutorial para principiantes), Figura 1: Visual Studio 2022

     **Estudio Visual 2022**
  2. Haga clic en "Crear un nuevo proyecto" en la página de inicio o vaya a "Archivo" > "Nuevo" > "Proyecto".
  3. En el cuadro de diálogo "Crear un nuevo proyecto", seleccione "Windows Forms App" o "Windows Forms App (.NET Framework)" en "Crear un nuevo proyecto", como se muestra a continuación.

    Cómo guardar un archivo PDF en C# (Tutorial para principiantes), Figura 2: Nueva aplicación Forms

     **Nueva aplicación de formularios
  4. Introduce un nombre para tu proyecto y elige una ubicación para guardarlo.

    Cómo guardar un archivo PDF en C# (Tutorial para principiantes), Figura 3: Ubicación del proyecto

     **Localización del proyecto
  5. Seleccione .NET Framework. Seleccione .NET 7.0 en el menú desplegable.
  6. Haga clic en el botón Crear.

    Cómo guardar un archivo PDF en C# (Tutorial para principiantes), Figura 4: Información adicional

     **Información adicional
  7. Visual Studio creará un nuevo proyecto de aplicación C# Windows Forms para usted, con un formulario por defecto llamado "Form1" añadido al proyecto como se muestra a continuación.

    Cómo guardar un archivo PDF en C# (Tutorial para principiantes), Figura 5: Proyecto Form1

     **Proyecto Form1**

    Ya está.! Ahora empezaremos a construir la aplicación Windows Forms utilizando el diseñador, añadiendo controles y funcionalidad para crear y guardar un archivo de documento PDF.

Paso 2: Diseñar el formulario

Puede diseñar el formulario según sus preferencias. Este tutorial hará un diseño minimalista añadiendo dos etiquetas, un cuadro de texto enriquecido y dos botones.

Cómo guardar un archivo PDF en C# (Tutorial para principiantes), Figura 6: Añadir botones al formulario

Añadir botones al formulario

Paso 3: Instalar IronPDF

El siguiente paso es instalar IronPDF en este proyecto para utilizar sus ricas funcionalidades.

IronPDF puede instalarse mediante NuGet Package Manager en Visual Studio. Puede navegar hasta la consola del gestor de paquetes NuGet accediendo a Herramientas > Gestor de paquetes NuGet > Consola del gestor de paquetes.

Escriba el siguiente comando y pulse Intro:

Install-Package IronPdf

Este comando descargará e instalará el paquete IronPDF en su proyecto. Una vez instalado, podemos empezar a utilizar IronPDF.

Escribir código para crear y guardar archivos PDF

Para comenzar con el flujo, escriba dos métodos: Save_Click y getFilePath en la clase Form1.cs Estos métodos se utilizan conjuntamente para guardar el contenido de un cuadro de texto como un archivo PDF utilizando el método Renderizador de PDF cromado biblioteca. Repasemos cada método para entender cómo funciona.

Método Save_Click (Crear documento PDF)

El siguiente método es un manejador de eventos para un evento de clic de botón. La finalidad de este método es guardar el contenido de un cuadro de texto como archivo PDF.

private void Save_Click(object sender, EventArgs e)
{
    //  Obtener la ruta de archivo para guardar el archivo PDF.
    string filename = getFilePath();

    //  Si la ruta del archivo no está vacía o es nula, proceda a guardar el archivo PDF.
    if (!String.IsNullOrEmpty(filePath))
    {
        //  Crea una nueva instancia de la clase ChromePdfRenderer.
        var renderer = new ChromePdfRenderer();

        //  Renderiza el contenido del archivo de la caja de texto como un documento PDF utilizando el ChromePdfRenderer.
        var pdfDocument = renderer.RenderHtmlAsPdf(pdfContent.Text);

        //  Guarda el documento PDF en la ruta de archivo especificada mediante el método SaveAs.
        pdfDocument.SaveAs(filename);

        //  Mostrar un cuadro de mensaje para indicar que el archivo PDF se ha guardado correctamente.
        MessageBox.Show("PDF has been saved Successfully!");
    }
}
private void Save_Click(object sender, EventArgs e)
{
    //  Obtener la ruta de archivo para guardar el archivo PDF.
    string filename = getFilePath();

    //  Si la ruta del archivo no está vacía o es nula, proceda a guardar el archivo PDF.
    if (!String.IsNullOrEmpty(filePath))
    {
        //  Crea una nueva instancia de la clase ChromePdfRenderer.
        var renderer = new ChromePdfRenderer();

        //  Renderiza el contenido del archivo de la caja de texto como un documento PDF utilizando el ChromePdfRenderer.
        var pdfDocument = renderer.RenderHtmlAsPdf(pdfContent.Text);

        //  Guarda el documento PDF en la ruta de archivo especificada mediante el método SaveAs.
        pdfDocument.SaveAs(filename);

        //  Mostrar un cuadro de mensaje para indicar que el archivo PDF se ha guardado correctamente.
        MessageBox.Show("PDF has been saved Successfully!");
    }
}
Private Sub Save_Click(ByVal sender As Object, ByVal e As EventArgs)
	'  Obtener la ruta de archivo para guardar el archivo PDF.
	Dim filename As String = getFilePath()

	'  Si la ruta del archivo no está vacía o es nula, proceda a guardar el archivo PDF.
	If Not String.IsNullOrEmpty(filePath) Then
		'  Crea una nueva instancia de la clase ChromePdfRenderer.
		Dim renderer = New ChromePdfRenderer()

		'  Renderiza el contenido del archivo de la caja de texto como un documento PDF utilizando el ChromePdfRenderer.
		Dim pdfDocument = renderer.RenderHtmlAsPdf(pdfContent.Text)

		'  Guarda el documento PDF en la ruta de archivo especificada mediante el método SaveAs.
		pdfDocument.SaveAs(filename)

		'  Mostrar un cuadro de mensaje para indicar que el archivo PDF se ha guardado correctamente.
		MessageBox.Show("PDF has been saved Successfully!")
	End If
End Sub
VB   C#

Aquí tienes un desglose paso a paso de lo que hace este método:

  1. El método llama al método getFilePath para obtener la ruta del archivo donde se guardará el archivo PDF.
  2. Si la ruta del archivo no está vacía o es nula, el método procede a guardar el archivo PDF.
  3. El método crea una nueva instancia de la clase ChromePdfRenderer. Se trata de una biblioteca que proporciona una forma de convertir contenido HTML en documentos PDF utilizando el motor del navegador Google Chrome.
  4. A continuación, el método utiliza el RenderHtmlAsPdf de la clase ChromePdfRenderer para convertir el contenido HTML del cuadro de texto pdfContent en un documento PDF. Este documento PDF está asignado al DocumentoPdf variable.
  5. El método guarda el documento PDF en la ruta de archivo especificada utilizando el método Guardar como de la clase PdfDocument.
  6. Por último, el método muestra un cuadro de mensaje para indicar que el archivo PDF se ha guardado correctamente.

Método getFilePath (Guardar archivos PDF)

Este método se utiliza para mostrar un SaveFileDialog al usuario para que seleccione una ruta de archivo donde se guardará el archivo PDF.

public string getFilePath()
{
    //  Crea una nueva instancia de la clase SaveFileDialog.
    SaveFileDialog saveFileDialog1 = new SaveFileDialog();

    //  Establece el directorio inicial donde se abrirá el SaveFileDialog.
    saveFileDialog1.InitialDirectory = @"D:\";

    //  Establece el título del SaveFileDialog.
    saveFileDialog1.Title = "Save the PDF Files";

    //  Configura el SaveFileDialog para comprobar si existe la ruta especificada.
    saveFileDialog1.CheckPathExists = true;

    //  Establezca la extensión predeterminada para el tipo de archivo.
    saveFileDialog1.DefaultExt = ".pdf";

    //  Configure el filtro para mostrar sólo archivos PDF o todos los archivos.
    saveFileDialog1.Filter = "PDF files (*.pdf)
*.pdf
All files (*.*)
*.*";

    //  Establezca el índice de filtros para mostrar el filtro PDF por defecto.
    saveFileDialog1.FilterIndex = 2;

    //  Establezca la propiedad RestoreDirectory en true para que el SaveFileDialog
    //  restaura el directorio actual antes de cerrar.
    saveFileDialog1.RestoreDirectory = true;

    //  Mostrar el SaveFileDialog y obtener el resultado.
    if (saveFileDialog1.ShowDialog() == DialogResult.OK)
    {
        //  Si el usuario ha pulsado el botón OK en el SaveFileDialog, devuelve la ruta del fichero seleccionado.
        return saveFileDialog1.FileName;
    }
    //  Si el usuario no ha pulsado el botón Aceptar, devuelve una cadena vacía.
    return "";
}
public string getFilePath()
{
    //  Crea una nueva instancia de la clase SaveFileDialog.
    SaveFileDialog saveFileDialog1 = new SaveFileDialog();

    //  Establece el directorio inicial donde se abrirá el SaveFileDialog.
    saveFileDialog1.InitialDirectory = @"D:\";

    //  Establece el título del SaveFileDialog.
    saveFileDialog1.Title = "Save the PDF Files";

    //  Configura el SaveFileDialog para comprobar si existe la ruta especificada.
    saveFileDialog1.CheckPathExists = true;

    //  Establezca la extensión predeterminada para el tipo de archivo.
    saveFileDialog1.DefaultExt = ".pdf";

    //  Configure el filtro para mostrar sólo archivos PDF o todos los archivos.
    saveFileDialog1.Filter = "PDF files (*.pdf)
*.pdf
All files (*.*)
*.*";

    //  Establezca el índice de filtros para mostrar el filtro PDF por defecto.
    saveFileDialog1.FilterIndex = 2;

    //  Establezca la propiedad RestoreDirectory en true para que el SaveFileDialog
    //  restaura el directorio actual antes de cerrar.
    saveFileDialog1.RestoreDirectory = true;

    //  Mostrar el SaveFileDialog y obtener el resultado.
    if (saveFileDialog1.ShowDialog() == DialogResult.OK)
    {
        //  Si el usuario ha pulsado el botón OK en el SaveFileDialog, devuelve la ruta del fichero seleccionado.
        return saveFileDialog1.FileName;
    }
    //  Si el usuario no ha pulsado el botón Aceptar, devuelve una cadena vacía.
    return "";
}
Public Function getFilePath() As String
	'  Crea una nueva instancia de la clase SaveFileDialog.
	Dim saveFileDialog1 As New SaveFileDialog()

	'  Establece el directorio inicial donde se abrirá el SaveFileDialog.
	saveFileDialog1.InitialDirectory = "D:\"

	'  Establece el título del SaveFileDialog.
	saveFileDialog1.Title = "Save the PDF Files"

	'  Configura el SaveFileDialog para comprobar si existe la ruta especificada.
	saveFileDialog1.CheckPathExists = True

	'  Establezca la extensión predeterminada para el tipo de archivo.
	saveFileDialog1.DefaultExt = ".pdf"

	'  Configure el filtro para mostrar sólo archivos PDF o todos los archivos.
	saveFileDialog1.Filter = "PDF files (*.pdf) *.pdf All files (*.*) *.*"

	'  Establezca el índice de filtros para mostrar el filtro PDF por defecto.
	saveFileDialog1.FilterIndex = 2

	'  Establezca la propiedad RestoreDirectory en true para que el SaveFileDialog
	'  restaura el directorio actual antes de cerrar.
	saveFileDialog1.RestoreDirectory = True

	'  Mostrar el SaveFileDialog y obtener el resultado.
	If saveFileDialog1.ShowDialog() = DialogResult.OK Then
		'  Si el usuario ha pulsado el botón OK en el SaveFileDialog, devuelve la ruta del fichero seleccionado.
		Return saveFileDialog1.FileName
	End If
	'  Si el usuario no ha pulsado el botón Aceptar, devuelve una cadena vacía.
	Return ""
End Function
VB   C#

Aquí tienes un desglose paso a paso de lo que hace este método:

  1. El método crea una nueva instancia de la clase SaveFileDialog. Esta clase forma parte de la biblioteca Windows Forms y proporciona un cuadro de diálogo que permite al usuario seleccionar una ruta de archivo donde se guardará el archivo PDF.
  2. El método establece varias propiedades del objeto SaveFileDialog para personalizar su comportamiento. La propiedad InitialDirectory establece el directorio donde se abrirá por primera vez el cuadro de diálogo. La propiedad Title establece el título del cuadro de diálogo. La propiedad CheckPathExists especifica si el cuadro de diálogo debe comprobar si la ruta especificada existe. La propiedad DefaultExt establece la extensión de archivo por defecto para el tipo de archivo. La propiedad Filtro establece los filtros de tipo de archivo que se muestran en el cuadro de diálogo. La propiedad FilterIndex establece el filtro por defecto a mostrar. Por último, la propiedad RestoreDirectory especifica si el cuadro de diálogo debe restaurar el directorio actual antes de cerrarse.
  3. El método muestra el SaveFileDialog llamando a su método ShowDialog. Este método muestra el cuadro de diálogo y devuelve un valor DialogResult que indica si el usuario ha pulsado el botón "Aceptar" o el botón Cancelar.
  4. Si el usuario pulsa el botón "Aceptar", el método devuelve la ruta del fichero que el usuario seleccionó accediendo a la propiedad FileName del SaveFileDialog.
  5. Si el usuario pulsa el botón "Cancelar" o cierra el cuadro de diálogo, el método devuelve una cadena vacía.

    Vamos a ejecutar el proyecto y ver la salida. Ejecute el proyecto y se abrirá el siguiente formulario.

    Cómo guardar un archivo PDF en C# (Tutorial para principiantes), Figura 7: Ejecución del proyecto Windows Forms

    **Ejecutar proyecto Windows Forms

    Introduzca el contenido de su PDF y haga clic en el botón "Guardar" como se muestra a continuación.

    Cómo guardar un archivo PDF en C# (Tutorial para principiantes), Figura 8: Cuadro de diálogo Guardar

    Cuadro de diálogo Guardar

    Se crea el siguiente PDF.

    Cómo guardar un archivo PDF en C# (Tutorial para principiantes), Figura 9: Archivo PDF creado

    Archivo PDF creado

    IronPDF proporciona una forma sencilla de convertir contenido HTML en documentos PDF y guardarlos en una ruta de archivo seleccionada por el usuario mediante la clase ChromePdfRenderer y el cuadro de diálogo SaveFileDialog.

Conclusión

Guardar archivos PDF desde una aplicación Windows Forms es un requisito común, y IronPDF proporciona un método fácil de usar y flexible para llevar a cabo esta tarea. Este artículo muestra cómo utilizar IronPDF para crear, añadir contenido y guardar archivos en una aplicación C# Windows Forms. Con IronPDF, los desarrolladores pueden generar archivos PDF de alta calidad desde sus aplicaciones con sólo unas líneas de código.

IronPDF ofrece una serie de funciones como Conversión de HTML a PDF, PDF fusión y dividir, extracción de texto e imágenesy mucho más. Iron PDF es gratuito para su desarrollo y está disponible bajo un licencia comercial con una prueba gratuitaque permite a los desarrolladores utilizarlo en proyectos comerciales e incluye asistencia y actualizaciones específicas. Además, IronPDF forma parte del Iron Suiteque es un paquete de componentes de software .NET que incluye bibliotecas para la generación de códigos de barras. (IronBarcode)creación, lectura y manipulación de documentos Excel (IronXL) trabajar con extracción de texto (IronOCR) y mucho más. Adquirir la Iron Suite completa es una solución rentable, ya que puede obtener los cinco productos por el precio de dos.

< ANTERIOR
Cómo convertir CSHTML a PDF en C#
SIGUIENTE >
Cómo mostrar PDF de matriz de bytes en Blazor

¿Listo para empezar? Versión: 2024.7 recién publicada

Descarga gratuita de NuGet Descargas totales: 9,974,197 Ver licencias >
123