Pruebas en un entorno real
Pruebe en producción sin marcas de agua.
Funciona donde lo necesites.
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.
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
Abra Visual Studio 2022 como se muestra a continuación.
**Estudio Visual 2022**
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.
**Nueva aplicación de formularios
Introduce un nombre para tu proyecto y elige una ubicación para guardarlo.
**Localización del proyecto
Haga clic en el botón Crear.
**Información adicional
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.
**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.
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.
Añadir botones al formulario
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.
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.
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
Aquí tienes un desglose paso a paso de lo que hace este método:
getFilePath
para obtener la ruta del archivo donde se guardará el archivo PDF.ChromePdfRenderer
. Se trata de una biblioteca que proporciona una forma de convertir contenido HTML en documentos PDF utilizando el motor del navegador Google Chrome.ChromePdfRenderer
para convertir el contenido HTML del cuadro de texto pdfContent
en un documento PDF. Este documento PDF está asignado al DocumentoPdf variable.PdfDocument
.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
Aquí tienes un desglose paso a paso de lo que hace este método:
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.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.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.FileName
del SaveFileDialog
.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.
**Ejecutar proyecto Windows Forms
Introduzca el contenido de su PDF y haga clic en el botón "Guardar" como se muestra a continuación.
Cuadro de diálogo Guardar
Se crea el siguiente PDF.
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
.
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.
9 productos API .NET para sus documentos de oficina