Pruebe en producción sin marcas de agua.
Funciona donde lo necesite.
Obtén 30 días de producto totalmente funcional.
Ténlo en funcionamiento en minutos.
Acceso completo a nuestro equipo de asistencia técnica durante la prueba del producto
Generar documentos PDF es un requisito común y a menudo esencial para los desarrolladores de C#. Ya sea que te encargues de crear facturas, informes de negocios detallados, convertir contenido web o gestionar diversos documentos empresariales, un generador de PDF en C# confiable es crucial. Muchos desarrolladores buscan bibliotecas .NET que no solo simplifiquen estas tareas, sino que también ofrezcan características robustas como convertir HTML a PDF con alta fidelidad, editar PDFs existentes o crear nuevos programáticamente desde cero.
Si buscas una solución tan potente y fácil de usar, has llegado al lugar correcto. Esta guía se centra en IronPDF, una biblioteca .NET líder meticulosamente diseñada para optimizar la generación y manipulación de PDF en C#. Te guiaremos a través de cómo IronPDF aborda las necesidades comunes de generación de PDF, te proporcionaremos un tutorial práctico para que comiences rápidamente y discutiremos por qué IronPDF se destaca como un fuerte competidor para tu conjunto de herramientas de desarrollo.
Cubriremos:
Al evaluar bibliotecas de PDF para C#, los desarrolladores a menudo priorizan la facilidad de uso, la precisión de renderizado (especialmente para la conversión de HTML a PDF), un conjunto de características completo y el rendimiento general. IronPDF está diseñado para sobresalir en estas áreas:
Funcionalidad integral de PDF: IronPDF es más que solo un creador de PDF. Es una herramienta C# para PDF completa que admite una amplia gama de operaciones:
Editar documentos PDF existentes
Fusión y división de PDF
Agregar encabezados, pies de página, marcas de agua y números de página
Rellenar y leer formularios PDF
Compatibilidad multiplataforma: Desarrolle y despliegue aplicaciones con IronPDF en Windows, Linux, macOS, Docker y Azure, apuntando a .NET (Core, Standard, Framework).
Ahora, profundicemos en cómo puedes usar IronPDF para generar PDFs en una aplicación de Windows Forms con C#.
El primer paso es crear un proyecto de Visual Studio. Para este tutorial, usaremos la plantilla de aplicación Windows Forms, pero IronPDF funciona perfectamente con aplicaciones web (ASP.NET), aplicaciones de consola, WPF y más.
Abre Visual Studio.
Haga clic en "Crear nuevo proyecto".
Seleccione "Aplicación de Windows Forms (.NET Framework o .NET Core)" de las plantillas y luego haga clic en 'Siguiente'. Aparecerá la siguiente ventana. Nombre su proyecto (p. ej., MyCSharpPdfGenerator
).
Nombrar el proyecto
Después de eso, haz clic en 'Siguiente'. En el menú desplegable, elija su .NET Framework deseado (IronPDF admite una amplia gama).
Seleccionar .NET Framework
Haga clic en el botón "Crear". El proyecto será creado y estará listo para el siguiente paso.
IronPDF se añade fácilmente a tu proyecto usando NuGet. Esta es la forma recomendada para asegurarse de tener la última versión y todas las dependencias necesarias.
En Visual Studio, vaya a Herramientas > Gestor de paquetes NuGet > Consola del gestor de paquetes. A continuación, escribe el siguiente comando y presiona Enter:
Install-Package IronPdf
Install-Package IronPdf
Haga clic derecho en su proyecto en el Explorador de Soluciones y seleccione "Administrar paquetes de NuGet..."
Haz clic en la pestaña "Explorar" y busca "IronPdf".
Selecciona el paquete IronPdf
de los resultados de búsqueda y haz clic en "Instalar".
Alternativamente, puedes descargar el DLL de IronPDF directamente desde el sitio web de IronPDF.
Descargue y descomprima el DLL en una ubicación adecuada (por ejemplo, una carpeta 'Libs' dentro del directorio de su solución).
En el Explorador de soluciones de Visual Studio, haz clic derecho sobre "Referencias" (para proyectos .NET Framework) o "Dependencias" (para proyectos .NET Core/5+) y selecciona "Agregar referencia..." o "Agregar referencia de proyecto..." luego "Examinar".
IronPdf.dll
.Para este tutorial, crearemos una interfaz de usuario básica para activar la generación de PDF. Si está desarrollando una aplicación web o de consola, integrará la lógica de IronPDF directamente en sus controladores, servicios o clases.
Vaya al ToolBox en Visual Studio (Ver > ToolBox). Arrastra y suelta los siguientes controles en la superficie de diseño de tu Formulario1:
Label
(por ejemplo, para titular su aplicación "Demo Generador de PDF en C#").RichTextBox
(llámalo PdfText
) para ingresar HTML/texto.TextBox
(nombrarlo URL
) para ingresar una URL.Dos controles Button
.
Establece el texto del primer botón en "Generar PDF desde Texto" (nómbralo GeneratePDFFromTextButton
).
GeneratePDFFromURLButton
).Ahora, añadamos la lógica en C#. Haga doble clic en el botón "Generate PDF From Text" (GeneratePDFFromTextButton
) en el diseñador de formularios. Esto creará un método controlador de eventos en su archivo Form1.cs
.
Primero, añade el espacio de nombres de IronPDF en la parte superior de tu archivo Form1.cs
:
using IronPdf;
using IronPdf;
Imports IronPdf
Luego, implemente el controlador de eventos click
del botón. Este código tomará texto (que puede ser texto plano o HTML) del RichTextBox
y lo convertirá en un documento PDF.
private void GeneratePDFFromTextButton_Click(object sender, EventArgs e)
{
// It's recommended to set your license key once at application startup.
// IronPdf.License.LicenseKey = "YourLicenseKey-GetYourKeyFromIronPdf.com";
// If no key is set, IronPDF will watermark PDFs after a trial period.
// Use SaveFileDialog to let the user choose where to save the PDF
SaveFileDialog saveFileDialog1 = new SaveFileDialog();
saveFileDialog1.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments); // Default to My Documents
saveFileDialog1.Title = "Save PDF File As";
saveFileDialog1.DefaultExt = "pdf";
saveFileDialog1.Filter = "PDF files (*.pdf)
*.pdf
All files (*.*)
*.*";
saveFileDialog1.FilterIndex = 1; // Start with PDF files selected
saveFileDialog1.RestoreDirectory = true;
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
string filename = saveFileDialog1.FileName;
// The core of PDF generation from HTML/Text using IronPDF
// IronPDF's ChromePdfRenderer accurately renders HTML, CSS, and JavaScript.
var renderer = new ChromePdfRenderer();
// The RenderHtmlAsPdf method converts an HTML string to a PDF document.
// This is incredibly powerful for generating dynamic reports, invoices, tickets, etc.
// from HTML templates.
using (var pdfDocument = renderer.RenderHtmlAsPdf(PdfText.Text))
{
pdfDocument.SaveAs(filename);
}
MessageBox.Show("PDF Generated Successfully at: " + filename, "Success", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
private void GeneratePDFFromTextButton_Click(object sender, EventArgs e)
{
// It's recommended to set your license key once at application startup.
// IronPdf.License.LicenseKey = "YourLicenseKey-GetYourKeyFromIronPdf.com";
// If no key is set, IronPDF will watermark PDFs after a trial period.
// Use SaveFileDialog to let the user choose where to save the PDF
SaveFileDialog saveFileDialog1 = new SaveFileDialog();
saveFileDialog1.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments); // Default to My Documents
saveFileDialog1.Title = "Save PDF File As";
saveFileDialog1.DefaultExt = "pdf";
saveFileDialog1.Filter = "PDF files (*.pdf)
*.pdf
All files (*.*)
*.*";
saveFileDialog1.FilterIndex = 1; // Start with PDF files selected
saveFileDialog1.RestoreDirectory = true;
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
string filename = saveFileDialog1.FileName;
// The core of PDF generation from HTML/Text using IronPDF
// IronPDF's ChromePdfRenderer accurately renders HTML, CSS, and JavaScript.
var renderer = new ChromePdfRenderer();
// The RenderHtmlAsPdf method converts an HTML string to a PDF document.
// This is incredibly powerful for generating dynamic reports, invoices, tickets, etc.
// from HTML templates.
using (var pdfDocument = renderer.RenderHtmlAsPdf(PdfText.Text))
{
pdfDocument.SaveAs(filename);
}
MessageBox.Show("PDF Generated Successfully at: " + filename, "Success", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
Private Sub GeneratePDFFromTextButton_Click(ByVal sender As Object, ByVal e As EventArgs)
' It's recommended to set your license key once at application startup.
' IronPdf.License.LicenseKey = "YourLicenseKey-GetYourKeyFromIronPdf.com";
' If no key is set, IronPDF will watermark PDFs after a trial period.
' Use SaveFileDialog to let the user choose where to save the PDF
Dim saveFileDialog1 As New SaveFileDialog()
saveFileDialog1.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) ' Default to My Documents
saveFileDialog1.Title = "Save PDF File As"
saveFileDialog1.DefaultExt = "pdf"
saveFileDialog1.Filter = "PDF files (*.pdf) *.pdf All files (*.*) *.*"
saveFileDialog1.FilterIndex = 1 ' Start with PDF files selected
saveFileDialog1.RestoreDirectory = True
If saveFileDialog1.ShowDialog() = DialogResult.OK Then
Dim filename As String = saveFileDialog1.FileName
' The core of PDF generation from HTML/Text using IronPDF
' IronPDF's ChromePdfRenderer accurately renders HTML, CSS, and JavaScript.
Dim renderer = New ChromePdfRenderer()
' The RenderHtmlAsPdf method converts an HTML string to a PDF document.
' This is incredibly powerful for generating dynamic reports, invoices, tickets, etc.
' from HTML templates.
Using pdfDocument = renderer.RenderHtmlAsPdf(PdfText.Text)
pdfDocument.SaveAs(filename)
End Using
MessageBox.Show("PDF Generated Successfully at: " & filename, "Success", MessageBoxButtons.OK, MessageBoxIcon.Information)
End If
End Sub
Explicación del Código de Generación de PDF en C#:
IronPdf.License.LicenseKey
: Es una buena práctica establecer tu clave de licencia de IronPDF. Si tiene uno, descomente la línea y reemplace "YourLicenseKey..."
con su clave real. IronPDF funciona sin una clave de licencia, pero los documentos tendrán una marca de agua después del período de prueba.SaveFileDialog
: Esto proporciona un cuadro de diálogo estándar de Windows para que el usuario elija la ubicación de guardado y el nombre de archivo para su PDF.ChromePdfRenderer
: Este es el núcleo de la capacidad de HTML a PDF de IronPDF. Utiliza un motor Chromium integrado para lograr la máxima fidelidad.RenderHtmlAsPdf(PdfText.Text)
: Esta única llamada de método toma el contenido de cadena de tu RichTextBox
(que puede ser HTML enriquecido) y lo convierte en un objeto de documento PDF.SaveAs(filename)
: Este método guarda el documento PDF generado en la ruta especificada por el usuario.Usar la instrucción using
para pdfDocument
asegura que los recursos se gestionen correctamente.
Observe cómo IronPDF simplifica una tarea potencialmente compleja como la conversión de HTML a PDF en solo un par de líneas clave de código. Esto es una ventaja significativa para los desarrolladores que necesitan generar PDF C# de manera rápida y confiable.
Presiona Ctrl + F5
(o haz clic en el botón de Inicio) para ejecutar tu proyecto. La aplicación de Windows Form aparecerá.
Introduce contenido HTML en el cuadro de texto enriquecido. Por ejemplo:
<h1>My First C# PDF Document</h1>
<p>This PDF was generated using <strong>IronPDF</strong> in a C# application.</p>
<p>IronPDF makes it very easy to convert HTML content, including styles and images, into professional PDF files.</p>
<ul>
<li>Easy to use</li>
<li>Accurate rendering</li>
<li>Feature-rich</li>
</ul>
<h1>My First C# PDF Document</h1>
<p>This PDF was generated using <strong>IronPDF</strong> in a C# application.</p>
<p>IronPDF makes it very easy to convert HTML content, including styles and images, into professional PDF files.</p>
<ul>
<li>Easy to use</li>
<li>Accurate rendering</li>
<li>Feature-rich</li>
</ul>
Haga clic en el botón "Generar PDF desde Texto". El cuadro de diálogo Guardar como aparecerá. Elija una ubicación y un nombre de archivo, luego haga clic en 'Guardar'.
Navega a la ubicación donde guardaste el PDF y ábrelo. Debería ver su contenido HTML renderizado con precisión dentro del documento PDF.
Generar un PDF desde una página web en vivo es otro requisito común. IronPDF lo hace igual de sencillo. Haz doble clic en el botón "Generar PDF DESDE URL" (GeneratePDFFromURLButton
) en el diseñador de formularios para crear su controlador de evento de clic.
Agrega el siguiente código C#:
private void GeneratePDFFromURLButton_Click(object sender, EventArgs e)
{
// IronPdf.License.LicenseKey = "YourLicenseKey-GetYourKeyFromIronPdf.com";
if (string.IsNullOrWhiteSpace(URL.Text))
{
MessageBox.Show("Please enter a valid URL.", "Input Error", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
SaveFileDialog saveFileDialog1 = new SaveFileDialog();
saveFileDialog1.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
saveFileDialog1.Title = "Save PDF From URL As";
saveFileDialog1.DefaultExt = "pdf";
saveFileDialog1.Filter = "PDF files (*.pdf)
*.pdf
All files (*.*)
*.*";
saveFileDialog1.FilterIndex = 1;
saveFileDialog1.RestoreDirectory = true;
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
string filename = saveFileDialog1.FileName;
try
{
var renderer = new ChromePdfRenderer();
// RenderUrlAsPdf fetches the content from the URL and converts it to PDF.
// This is excellent for archiving web pages or creating PDFs from online reports.
using (var pdfDocument = renderer.RenderUrlAsPdf(URL.Text))
{
pdfDocument.SaveAs(filename);
}
MessageBox.Show("PDF from URL Generated Successfully at: " + filename, "Success", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
catch (Exception ex)
{
MessageBox.Show("Error generating PDF from URL: " + ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
}
private void GeneratePDFFromURLButton_Click(object sender, EventArgs e)
{
// IronPdf.License.LicenseKey = "YourLicenseKey-GetYourKeyFromIronPdf.com";
if (string.IsNullOrWhiteSpace(URL.Text))
{
MessageBox.Show("Please enter a valid URL.", "Input Error", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
SaveFileDialog saveFileDialog1 = new SaveFileDialog();
saveFileDialog1.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
saveFileDialog1.Title = "Save PDF From URL As";
saveFileDialog1.DefaultExt = "pdf";
saveFileDialog1.Filter = "PDF files (*.pdf)
*.pdf
All files (*.*)
*.*";
saveFileDialog1.FilterIndex = 1;
saveFileDialog1.RestoreDirectory = true;
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
string filename = saveFileDialog1.FileName;
try
{
var renderer = new ChromePdfRenderer();
// RenderUrlAsPdf fetches the content from the URL and converts it to PDF.
// This is excellent for archiving web pages or creating PDFs from online reports.
using (var pdfDocument = renderer.RenderUrlAsPdf(URL.Text))
{
pdfDocument.SaveAs(filename);
}
MessageBox.Show("PDF from URL Generated Successfully at: " + filename, "Success", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
catch (Exception ex)
{
MessageBox.Show("Error generating PDF from URL: " + ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
}
Private Sub GeneratePDFFromURLButton_Click(ByVal sender As Object, ByVal e As EventArgs)
' IronPdf.License.LicenseKey = "YourLicenseKey-GetYourKeyFromIronPdf.com";
If String.IsNullOrWhiteSpace(URL.Text) Then
MessageBox.Show("Please enter a valid URL.", "Input Error", MessageBoxButtons.OK, MessageBoxIcon.Warning)
Return
End If
Dim saveFileDialog1 As New SaveFileDialog()
saveFileDialog1.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)
saveFileDialog1.Title = "Save PDF From URL As"
saveFileDialog1.DefaultExt = "pdf"
saveFileDialog1.Filter = "PDF files (*.pdf) *.pdf All files (*.*) *.*"
saveFileDialog1.FilterIndex = 1
saveFileDialog1.RestoreDirectory = True
If saveFileDialog1.ShowDialog() = DialogResult.OK Then
Dim filename As String = saveFileDialog1.FileName
Try
Dim renderer = New ChromePdfRenderer()
' RenderUrlAsPdf fetches the content from the URL and converts it to PDF.
' This is excellent for archiving web pages or creating PDFs from online reports.
Using pdfDocument = renderer.RenderUrlAsPdf(URL.Text)
pdfDocument.SaveAs(filename)
End Using
MessageBox.Show("PDF from URL Generated Successfully at: " & filename, "Success", MessageBoxButtons.OK, MessageBoxIcon.Information)
Catch ex As Exception
MessageBox.Show("Error generating PDF from URL: " & ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
End If
End Sub
Explicación:
URL.Text
: Esto toma la cadena URL del control TextBox
en tu formulario.RenderUrlAsPdf(URL.Text)
: Este potente método de IronPDF navega a la URL proporcionada, representa su contenido (incluyendo HTML, CSS, JavaScript e imágenes) y lo convierte en un documento PDF.try-catch
) se incluye para garantizar la robustez, ya que pueden ocurrir problemas de red o URLs no válidas.Ejecute su proyecto nuevamente (Ctrl + F5
). Esta vez, ingrese una URL completa (por ejemplo, https://ironpdf.com
) en el cuadro de texto URL.
Haga clic en el botón "Generar PDF DESDE URL". Seleccione una ubicación de guardado y un nombre de archivo.
Abrir el PDF generado. Verás que la página web ha sido convertida fielmente en un documento PDF, preservando su diseño y contenido.
Como demuestra este tutorial, IronPDF ofrece una solución notablemente poderosa pero sencilla para todas sus necesidades de generación de PDF en C#. Ya sea que esté convirtiendo páginas HTML complejas con CSS y JavaScript intrincados, generando informes dinámicos a partir de datos, creando PDFs desde URLs en vivo, o necesite capacidades robustas de edición de PDF dentro de sus aplicaciones .NET, IronPDF ofrece las herramientas y el rendimiento necesarios para realizar el trabajo de manera eficiente.
Cuando generas proyectos PDF C#, a menudo te enfrentas a elecciones entre bibliotecas gratuitas que podrían tener limitaciones en la fidelidad de renderizado o en los conjuntos de características, o soluciones más complejas que requieren un código boilerplate significativo. IronPDF se distingue como una biblioteca .NET PDF integral y comercialmente respaldada que agiliza el desarrollo, garantiza una salida de alta calidad, y ofrece un conjunto rico de características más allá de la creación básica de PDF.
¿Listo para experimentar la mejor manera de generar y manipular PDFs en C#?
Descubre el Iron Suite: Obtén Más Herramientas .NET por Menos (El Iron Suite incluye múltiples bibliotecas .NET, ofreciendo un gran valor si trabajas con otros formatos de documentos o tareas.)
Al elegir IronPDF, estás equipando tus proyectos C# con un motor líder en generación y manipulación de PDF, ahorrando valioso tiempo de desarrollo y asegurando documentos PDF de calidad profesional y pixel perfect en todo momento. Aprende más sobre cómo convertir HTML a PDF en C# con esta guía detallada.