Generando Archivos PDF en C#
Los documentos y reportes de oficina a menudo necesitan ser convertidos en documentos PDF desde una amplia variedad de formatos, incluyendo HTML. También puede que necesitemos generar archivos PDF desde páginas web o URLs. Para este propósito, necesitamos un generador versátil que pueda generar archivos PDF que contengan el mismo contenido exacto que los archivos HTML originales. En este tutorial, aprenderemos cómo generar archivos PDF en C#.
Cómo generar PDF en C#

- Instalar biblioteca C# para generar archivos PDF.
- Generar un documento PDF a partir de una cadena HTML.
- Generar un documento PDF a partir de una URL.
- Generar documentos PDF a partir de archivos fuente HTML.
- Generar documentos PDF a partir de páginas web ASP.NET.
- Añadir encabezados y pies de página personalizados a los documentos PDF generados.
- Más...
¿Qué es IronPDF?
La biblioteca PDF de IronPDF para .NET es reconocida por muchos diseñadores, en particular los programadores de computadoras que usan C#. Sin duda, puedes crear una biblioteca PDF central para .NET con esta herramienta excepcional.
IronPDF utiliza un motor Chromium de .NET para convertir páginas HTML en documentos PDF. Con HTML a PDF, no hay razón para usar APIs complejas para posicionar o planificar PDFs. IronPDF soporta documentos web estándar: HTML, ASPX, JS, CSS e imágenes.
Además, te permite crear una biblioteca PDF para .NET utilizando HTML5, CSS, JavaScript e imágenes. Puedes editar fácilmente, estampar y agregar encabezados y pies de página a un PDF. Además, hace extremadamente simple leer contenido PDF eficientemente con IronPDF y extraer las imágenes.
IronPDF proporciona una solución singular a todos los problemas relacionados con PDF. Cuando compras IronPDF, obtienes todas las conversiones en una sola biblioteca, además de tareas conectadas con documentos PDF, sin requerir condiciones adicionales. IronPDF es un paquete completo y una gran herramienta tanto para diseñadores como para programadores de C# por igual.
IronPDF nos ayuda a generar archivos PDF a partir de lo siguiente:
- Cadenas y plantillas HTML
- ASPX WebForms
- Vistas MVC
- Documentos HTML
- cualquier URL
Características de IronPDF
IronPDF te ayuda a crear documentos PDF a partir de HTML 4 y 5, CSS y JavaScript, y crea archivos PDF desde URLs. Asimismo, ayuda a cargar URLs con credenciales de inicio de sesión de red personalizadas, Agentes de Usuario, Proxies, Cookies, encabezados HTTP y variables de formularios que permiten el inicio de sesión detrás de formularios de inicio de sesión en HTML. Puedes, sin mucho esfuerzo, extraer imágenes y textos de PDF y estampar nuevo contenido HTML sobre cualquier página PDF existente, también permitiéndote agregar encabezados y pies de página lógicos o HTML. Puede cargar y extraer fácilmente archivos PDF existentes y fusionar y dividir contenido en documentos PDF. Tiene una URL de base personalizada para permitir que los archivos de recursos sean accesibles en la web y acepta HTML codificado en cualquier codificación de documento significativa (por defecto a UTF-8). Puedes simplemente guardar y cargar desde documentos, datos binarios o MemoryStreams y transformar documentos PDF en un objeto PrintDocument para imprimir sin Adobe (con código mínimo) y exportar documentos de registro oficiales con detalles sobre el éxito de la API y errores de depuración en el código fuente.
Compatibilidad
Soporta lenguajes .NET como C#, VB.NET y F#. Es compatible con plataformas .NET como .NET 6, 5, Core 2x y 3x, Standard 2, y Framework 4x. Funciona en aplicaciones como Consola, Web y Escritorio, y es compatible con Microsoft Windows, Linux, macOS, Docker y Azure OS. IDE de IronPDF incluyen Microsoft Visual Studio, JetBrains ReSharper y Rider.
Pasos para generar documentos PDF
Primero, necesitamos crear un nuevo Proyecto de Visual Studio. Usaré la plantilla de Aplicación de Consola para esta demostración. Puedes usar cualquiera según tus requisitos y elección.
También puedes utilizar tu proyecto existente en el que desees agregar una herramienta para generar archivos PDF.
Crear un proyecto de Visual Studio
Abre Microsoft Visual Studio 2019, o cualquier otra versión. Se recomienda la última versión. Haz clic en "Crear Nuevo Proyecto". Selecciona la Aplicación de Consola C# para la plantilla de la aplicación. Haz clic en el botón "Siguiente".
Asigna un nombre a tu proyecto. Lo he nombrado "C Sharp Generar PDF". Puedes nombrarlo como desees. Haz clic en el botón "Siguiente", y configura el Framework .NET de destino. He configurado mi framework .NET de destino a ".NET 5.0", la última versión estable. Haz clic en el botón "Crear". Se creará un nuevo proyecto para ti.
Instalar el paquete NuGet en Visual Studio
Antes de empezar, necesitamos instalar la Biblioteca IronPDF. Puedes instalarla usando uno de los siguientes tres métodos:
Consola del gestor de paquetes
Escribe el siguiente comando en la consola del Administrador de Paquetes. Descargará e instalará el paquete por ti.
Install-Package IronPdf

La solución del gestor de paquetes NuGet
También puedes instalar la Biblioteca de Código de Barras usando la Solución de Paquetes NuGet. Simplemente, sigue estos pasos:
Haz clic en Herramientas > Administrador de Paquetes NuGet > Administrar la Solución de Paquetes NuGet.

Esto abrirá el Administrador de Paquetes NuGet para ti. Haz clic en "Examinar" y busca IronPDF como se muestra abajo.

Haz clic en IronPDF y luego en el botón "Instalar". Esto instalará IronPDF en tu proyecto. Ahora eres libre de usar cualquiera de sus funciones en tu proyecto.
Descargar directamente IronPDF ZIP
Alternativamente, puedes descargar el paquete ZIP de IronPDF para integración.
Recuerda agregar esta declaración al inicio de cualquier archivo de clase .cs que utilice IronPDF:
using IronPdf;using IronPdf;Imports IronPdfConsulta IronPDF en NuGet para instalación y actualizaciones para más sobre actualizaciones de versión e instalación.
Existen otros Paquetes NuGet de IronPDF disponibles para despliegues específicos a objetivos en Linux, Mac, Azure y AWS que están documentados en la guía de instalación avanzada de NuGet de IronPDF.
La biblioteca de IronPDF ha sido instalada, así que pasemos al siguiente paso.
Generar archivos PDF a partir de una cadena HTML
IronPDF puede generar archivos PDF desde texto HTML con bastante facilidad. El siguiente ejemplo ilustra esta capacidad. Usa esta opción cuando solo necesites añadir texto simple a tu archivo PDF.
Añade el siguiente espacio de nombres:
using IronPdf;using IronPdf;Imports IronPdfUsando el siguiente ejemplo de código:
var Renderer = new ChromePdfRenderer();
// Render HTML as PDF and save the result
Renderer.RenderHtmlAsPdf("<h1>This is the Tutorial for C# Generate PDF<h1>")
.SaveAs("GeneratePDF.pdf");var Renderer = new ChromePdfRenderer();
// Render HTML as PDF and save the result
Renderer.RenderHtmlAsPdf("<h1>This is the Tutorial for C# Generate PDF<h1>")
.SaveAs("GeneratePDF.pdf");Dim Renderer = New ChromePdfRenderer()
' Render HTML as PDF and save the result
Renderer.RenderHtmlAsPdf("<h1>This is the Tutorial for C# Generate PDF<h1>").SaveAs("GeneratePDF.pdf")En el código anterior, he creado un nuevo ChromePdfRenderer. Luego he llamado RenderHtmlAsPdf y SaveAs para el resultado.
Resultado
Ejecuta el programa. Generará un documento PDF en la carpeta bin del proyecto, ya que no hemos especificado la ruta.

Genere sus primeros archivos PDF
Después de que la biblioteca de IronPDF está instalada, podemos crear fácilmente un archivo PDF y una Página PDF usando solo unas pocas líneas de código. Ahora te ayudaremos a crear tu primer documento PDF en C#. Copia el código a continuación, pégalo en tu Visual Studio y ejecuta el programa.
var pdf = new ChromePdfRenderer();
PdfDocument doc = pdf.RenderHtmlAsPdf("<h1>This is a heading</h1>");
doc.SaveAs("FirstPDFDocument.pdf");var pdf = new ChromePdfRenderer();
PdfDocument doc = pdf.RenderHtmlAsPdf("<h1>This is a heading</h1>");
doc.SaveAs("FirstPDFDocument.pdf");Dim pdf = New ChromePdfRenderer()
Dim doc As PdfDocument = pdf.RenderHtmlAsPdf("<h1>This is a heading</h1>")
doc.SaveAs("FirstPDFDocument.pdf")Después de la ejecución de tu proyecto en C#, habrá un archivo llamado "FirstPDFDocument.pdf" en la carpeta bin de tu proyecto. Haz doble clic en dicho archivo, y el archivo PDF se abrirá en la pestaña del navegador.

Crear archivos PDF en C# o convertir HTML a PDF es solo unas pocas líneas de código utilizando IronPDF.
Generar documento PDF a partir de URL
Crear un archivo PDF en C# usando una URL es tan fácil como el ejemplo anterior con solo estas tres líneas de código. El siguiente código demostrará cómo crear PDF desde una URL con IronPDF.
using IronPdf;
var Renderer = new ChromePdfRenderer();
// Create a PDF from a URL or local file path
using var pdf = Renderer.RenderUrlAsPdf("https://www.amazon.com/?tag=hp2-brobookmark-us-20");
// Export to a file or Stream
pdf.SaveAs("url.pdf");using IronPdf;
var Renderer = new ChromePdfRenderer();
// Create a PDF from a URL or local file path
using var pdf = Renderer.RenderUrlAsPdf("https://www.amazon.com/?tag=hp2-brobookmark-us-20");
// Export to a file or Stream
pdf.SaveAs("url.pdf");Imports IronPdf
Private Renderer = New ChromePdfRenderer()
' Create a PDF from a URL or local file path
Private pdf = Renderer.RenderUrlAsPdf("https://www.amazon.com/?tag=hp2-brobookmark-us-20")
' Export to a file or Stream
pdf.SaveAs("url.pdf")Aquí está la salida del código anterior.

Otros ejemplos de convertir sitios complejos populares a PDF.

Generación de archivos PDF a partir de un archivo HTML
Podemos generar un documento PDF desde archivos HTML con imágenes, CSS, formularios, hipervínculos y JavaScript. Usa este método para escenarios donde tienes acceso local al documento fuente.
Este ejemplo utiliza RenderHtmlFileAsPdf y devuelve una variable llamada PDF.
Llama a SaveAs para guardar la salida en un archivo PDF.
El siguiente ejemplo de código asume que hay un archivo HTML en la carpeta bin del proyecto.
var Renderer = new ChromePdfRenderer();
var pdf = Renderer.RenderHtmlFileAsPdf("AccountPage.html");
pdf.SaveAs("AccountPdf.pdf");var Renderer = new ChromePdfRenderer();
var pdf = Renderer.RenderHtmlFileAsPdf("AccountPage.html");
pdf.SaveAs("AccountPdf.pdf");Dim Renderer = New ChromePdfRenderer()
Dim pdf = Renderer.RenderHtmlFileAsPdf("AccountPage.html")
pdf.SaveAs("AccountPdf.pdf")HTML de entrada:

Salida de archivo PDF generado:

Generar archivos PDF a partir de URL
Podemos generar archivos PDF desde páginas web existentes con unas pocas líneas de código C# o VB.NET. Usa esta opción cuando necesites generar un documento PDF desde un sitio web que ya tiene un documento bien formateado.
Llama a RenderUrlAsPdf para descargar el contenido de la página web para que puedas llamar a SaveAs para guardar el archivo PDF localmente.
var Renderer = new ChromePdfRenderer();
var pdf = Renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Portable_Document_Format");
pdf.SaveAs("wikipedia.pdf");var Renderer = new ChromePdfRenderer();
var pdf = Renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Portable_Document_Format");
pdf.SaveAs("wikipedia.pdf");Dim Renderer = New ChromePdfRenderer()
Dim pdf = Renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Portable_Document_Format")
pdf.SaveAs("wikipedia.pdf")Salida de archivo PDF:

Generar un documento PDF a partir de formularios web ASP.NET
Podemos generar un documento PDF desde formularios web ASP.NET en lugar de HTML con una sola línea de código. Coloca la línea de código en el método Page_Load del código detrás de la página.
- Crea una nueva aplicación de formularios web ASP.NET o abre una existente.
- Instala el paquete NuGet para la Biblioteca IronPDF.
- Importa el espacio de nombres IronPDF usando la palabra clave apropiada.
- Abre el código detrás de la página que deseas renderizar a PDF. Por ejemplo, Default.aspx.cs
- Escribe el siguiente código dentro de la Función Page Load.
AspxToPdf.RenderThisPageAsPdf(AspxToPdf.FileBehavior.InBrowser);AspxToPdf.RenderThisPageAsPdf(AspxToPdf.FileBehavior.InBrowser);AspxToPdf.RenderThisPageAsPdf(AspxToPdf.FileBehavior.InBrowser)Salida de archivo PDF:

Generar archivos PDF desde una vista ASP MVC
Podemos generar documentos PDF desde el marco ASP MVC.
Inicia el asistente de nuevo proyecto en Visual Studio, y elige Aplicación Web ASP.NET (.NET Framework) > MVC. Alternativamente, abre un proyecto MVC existente. Abre el archivo HomeController en la carpeta Controllers y reemplaza el método Index, o añade un nuevo controlador.
Este es un ejemplo de cómo debería verse el código:
public ActionResult Index()
{
var pdf = IronPdf.ChromePdfRenderer.StaticRenderUrlAsPdf(new Uri("https://en.wikipedia.org"));
return File(pdf.BinaryData, "application/pdf", "Wiki.Pdf");
}
public ActionResult About()
{
ViewBag.Message = "Your application description page.";
return View();
}
public ActionResult Contact()
{
ViewBag.Message = "Your contact page.";
return View();
}public ActionResult Index()
{
var pdf = IronPdf.ChromePdfRenderer.StaticRenderUrlAsPdf(new Uri("https://en.wikipedia.org"));
return File(pdf.BinaryData, "application/pdf", "Wiki.Pdf");
}
public ActionResult About()
{
ViewBag.Message = "Your application description page.";
return View();
}
public ActionResult Contact()
{
ViewBag.Message = "Your contact page.";
return View();
}Public Function Index() As ActionResult
Dim pdf = IronPdf.ChromePdfRenderer.StaticRenderUrlAsPdf(New Uri("https://en.wikipedia.org"))
Return File(pdf.BinaryData, "application/pdf", "Wiki.Pdf")
End Function
Public Function About() As ActionResult
ViewBag.Message = "Your application description page."
Return View()
End Function
Public Function Contact() As ActionResult
ViewBag.Message = "Your contact page."
Return View()
End FunctionSalida de archivo PDF:

Añadir encabezados y pies de página
La propiedad de Opciones de Impresión te permite crear encabezados y pies de página para cada página del archivo PDF. Accede a estas opciones en el objeto ChromePdfRenderer. Este ejemplo funciona dentro de una aplicación de consola .NET Core.
- Usa estas propiedades de plantilla para construir el contenido.
{page}{total-pages}{url}{date}{time}{html-title}&{pdf-title}
Escribe el siguiente código:
var ChromePdfRenderer = new ChromePdfRenderer();
ChromePdfRenderer.RenderingOptions.FirstPageNumber = 1;
// Header options
ChromePdfRenderer.RenderingOptions.TextHeader.DrawDividerLine = true;
ChromePdfRenderer.RenderingOptions.TextHeader.CenterText = "This is Header {date} {time}";
ChromePdfRenderer.RenderingOptions.TextHeader.FontFamily = "Helvetica,Arial";
ChromePdfRenderer.RenderingOptions.TextHeader.FontSize = 12;
// Footer options
ChromePdfRenderer.RenderingOptions.TextFooter.DrawDividerLine = true;
ChromePdfRenderer.RenderingOptions.TextFooter.FontFamily = "Arial";
ChromePdfRenderer.RenderingOptions.TextFooter.FontSize = 10;
ChromePdfRenderer.RenderingOptions.TextFooter.LeftText = "{date} {time}";
ChromePdfRenderer.RenderingOptions.TextFooter.RightText = "{page} of {total-pages}";
ChromePdfRenderer.RenderHtmlAsPdf("<h1>This is my Sample Page for Generate PDF Tutorial<h1>")
.SaveAs("GeneratePDF.pdf");var ChromePdfRenderer = new ChromePdfRenderer();
ChromePdfRenderer.RenderingOptions.FirstPageNumber = 1;
// Header options
ChromePdfRenderer.RenderingOptions.TextHeader.DrawDividerLine = true;
ChromePdfRenderer.RenderingOptions.TextHeader.CenterText = "This is Header {date} {time}";
ChromePdfRenderer.RenderingOptions.TextHeader.FontFamily = "Helvetica,Arial";
ChromePdfRenderer.RenderingOptions.TextHeader.FontSize = 12;
// Footer options
ChromePdfRenderer.RenderingOptions.TextFooter.DrawDividerLine = true;
ChromePdfRenderer.RenderingOptions.TextFooter.FontFamily = "Arial";
ChromePdfRenderer.RenderingOptions.TextFooter.FontSize = 10;
ChromePdfRenderer.RenderingOptions.TextFooter.LeftText = "{date} {time}";
ChromePdfRenderer.RenderingOptions.TextFooter.RightText = "{page} of {total-pages}";
ChromePdfRenderer.RenderHtmlAsPdf("<h1>This is my Sample Page for Generate PDF Tutorial<h1>")
.SaveAs("GeneratePDF.pdf");Dim ChromePdfRenderer As New ChromePdfRenderer()
ChromePdfRenderer.RenderingOptions.FirstPageNumber = 1
' Header options
ChromePdfRenderer.RenderingOptions.TextHeader.DrawDividerLine = True
ChromePdfRenderer.RenderingOptions.TextHeader.CenterText = "This is Header {date} {time}"
ChromePdfRenderer.RenderingOptions.TextHeader.FontFamily = "Helvetica,Arial"
ChromePdfRenderer.RenderingOptions.TextHeader.FontSize = 12
' Footer options
ChromePdfRenderer.RenderingOptions.TextFooter.DrawDividerLine = True
ChromePdfRenderer.RenderingOptions.TextFooter.FontFamily = "Arial"
ChromePdfRenderer.RenderingOptions.TextFooter.FontSize = 10
ChromePdfRenderer.RenderingOptions.TextFooter.LeftText = "{date} {time}"
ChromePdfRenderer.RenderingOptions.TextFooter.RightText = "{page} of {total-pages}"
ChromePdfRenderer.RenderHtmlAsPdf("<h1>This is my Sample Page for Generate PDF Tutorial<h1>").SaveAs("GeneratePDF.pdf")Fichero PDF con encabezado y pie de página

Añadir encabezados y pies de página con HTML
Podemos añadir texto, fecha, hora y números de página en los encabezados y pies de página de nuestro documento PDF.
var ChromePdfRenderer = new ChromePdfRenderer();
ChromePdfRenderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter()
{
Height = 15,
HtmlFragment = "<center><i>{page} of {total-pages}<i></center>",
DrawDividerLine = true
};
ChromePdfRenderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
{
Height = 20,
HtmlFragment = "This is Footer {date}",
};
ChromePdfRenderer.RenderHtmlAsPdf("<h1>This is sample page for Tutorial.<h1>")
.SaveAs("GeneratePDF.pdf");var ChromePdfRenderer = new ChromePdfRenderer();
ChromePdfRenderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter()
{
Height = 15,
HtmlFragment = "<center><i>{page} of {total-pages}<i></center>",
DrawDividerLine = true
};
ChromePdfRenderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
{
Height = 20,
HtmlFragment = "This is Footer {date}",
};
ChromePdfRenderer.RenderHtmlAsPdf("<h1>This is sample page for Tutorial.<h1>")
.SaveAs("GeneratePDF.pdf");Dim ChromePdfRenderer As New ChromePdfRenderer()
ChromePdfRenderer.RenderingOptions.HtmlFooter = New HtmlHeaderFooter() With {
.Height = 15,
.HtmlFragment = "<center><i>{page} of {total-pages}<i></center>",
.DrawDividerLine = True
}
ChromePdfRenderer.RenderingOptions.HtmlHeader = New HtmlHeaderFooter() With {
.Height = 20,
.HtmlFragment = "This is Footer {date}"
}
ChromePdfRenderer.RenderHtmlAsPdf("<h1>This is sample page for Tutorial.<h1>").SaveAs("GeneratePDF.pdf")Como se muestra arriba, esta muestra funciona en una aplicación de consola de .NET Core. Especifica HTML con la propiedad HtmlFragment.

Encriptar documentos PDF con contraseña
Podemos generar documentos PDF con contraseñas. Establece la propiedad "Password" de un documento PDF para encriptarlo y obligar al usuario a introducir la contraseña correcta para ver el documento. Esta muestra funciona en una aplicación de consola de .NET Core.
var ChromePdfRenderer = new ChromePdfRenderer();
var pdfDocument = ChromePdfRenderer.RenderHtmlAsPdf("<h1>Hello world<h1>");
pdfDocument.Password = "Password@1234";
pdfDocument.SaveAs("secured.pdf");var ChromePdfRenderer = new ChromePdfRenderer();
var pdfDocument = ChromePdfRenderer.RenderHtmlAsPdf("<h1>Hello world<h1>");
pdfDocument.Password = "Password@1234";
pdfDocument.SaveAs("secured.pdf");Dim ChromePdfRenderer As New ChromePdfRenderer()
Dim pdfDocument = ChromePdfRenderer.RenderHtmlAsPdf("<h1>Hello world<h1>")
pdfDocument.Password = "Password@1234"
pdfDocument.SaveAs("secured.pdf")Salida de archivo PDF:

Fusionar y dividir documentos PDF
Podemos fusionar múltiples documentos PDF en un solo documento PDF nuevo. Usa el siguiente código para fusionar y dividir.
var ChromePdfRenderer = new ChromePdfRenderer();
// Join Multiple Existing PDFs into a single document
var pdfDocuments = new List<PdfDocument>
{
PdfDocument.FromFile("AccountPdf.pdf"),
PdfDocument.FromFile("GeneratePDF.pdf"),
PdfDocument.FromFile("wikipedia.pdf")
};
var mergedPdfDocument = PdfDocument.Merge(pdfDocuments);
mergedPdfDocument.SaveAs("merged.pdf");
// Add a cover page
mergedPdfDocument.PrependPdf(ChromePdfRenderer.RenderHtmlAsPdf("<h1>Cover Page</h1><hr>"));
// Remove the last page from the PDF and save again
mergedPdfDocument.RemovePage(mergedPdfDocument.PageCount - 1);
mergedPdfDocument.SaveAs("merged.pdf");
// Copy pages 1,2 and save them as a new document
mergedPdfDocument.CopyPages(1, 2).SaveAs("excerpt.pdf");var ChromePdfRenderer = new ChromePdfRenderer();
// Join Multiple Existing PDFs into a single document
var pdfDocuments = new List<PdfDocument>
{
PdfDocument.FromFile("AccountPdf.pdf"),
PdfDocument.FromFile("GeneratePDF.pdf"),
PdfDocument.FromFile("wikipedia.pdf")
};
var mergedPdfDocument = PdfDocument.Merge(pdfDocuments);
mergedPdfDocument.SaveAs("merged.pdf");
// Add a cover page
mergedPdfDocument.PrependPdf(ChromePdfRenderer.RenderHtmlAsPdf("<h1>Cover Page</h1><hr>"));
// Remove the last page from the PDF and save again
mergedPdfDocument.RemovePage(mergedPdfDocument.PageCount - 1);
mergedPdfDocument.SaveAs("merged.pdf");
// Copy pages 1,2 and save them as a new document
mergedPdfDocument.CopyPages(1, 2).SaveAs("excerpt.pdf");Dim ChromePdfRenderer As New ChromePdfRenderer()
' Join Multiple Existing PDFs into a single document
Dim pdfDocuments = New List(Of PdfDocument) From {PdfDocument.FromFile("AccountPdf.pdf"), PdfDocument.FromFile("GeneratePDF.pdf"), PdfDocument.FromFile("wikipedia.pdf")}
Dim mergedPdfDocument = PdfDocument.Merge(pdfDocuments)
mergedPdfDocument.SaveAs("merged.pdf")
' Add a cover page
mergedPdfDocument.PrependPdf(ChromePdfRenderer.RenderHtmlAsPdf("<h1>Cover Page</h1><hr>"))
' Remove the last page from the PDF and save again
mergedPdfDocument.RemovePage(mergedPdfDocument.PageCount - 1)
mergedPdfDocument.SaveAs("merged.pdf")
' Copy pages 1,2 and save them as a new document
mergedPdfDocument.CopyPages(1, 2).SaveAs("excerpt.pdf")Usa la función "Merge" para fusionar múltiples archivos PDF juntos, o "CopyPages" para dividir un número de páginas de un documento existente. Incluye PDFs en tu proyecto como "Contenido" para acceder a ellos por nombre de archivo.

Extraer imágenes de documentos PDF
Esta función requiere un paquete NuGet adicional. Instala System.Drawing.Common. Utiliza el ExtractAllText para obtener texto y el ExtractAllImages para obtener imágenes.
var ChromePdfRenderer = new ChromePdfRenderer();
var pdfDocument = PdfDocument.FromFile("wikipedia.pdf");
// Get all text
var allText = pdfDocument.ExtractAllText();
// Get all Images
var allImages = pdfDocument.ExtractAllImages();
// Or even find the images and text by page
for (var index = 0; index < pdfDocument.PageCount; index++)
{
var pageNumber = index + 1;
var pageText = pdfDocument.ExtractTextFromPage(index);
var pageImages = pdfDocument.ExtractImagesFromPage(index);
}var ChromePdfRenderer = new ChromePdfRenderer();
var pdfDocument = PdfDocument.FromFile("wikipedia.pdf");
// Get all text
var allText = pdfDocument.ExtractAllText();
// Get all Images
var allImages = pdfDocument.ExtractAllImages();
// Or even find the images and text by page
for (var index = 0; index < pdfDocument.PageCount; index++)
{
var pageNumber = index + 1;
var pageText = pdfDocument.ExtractTextFromPage(index);
var pageImages = pdfDocument.ExtractImagesFromPage(index);
}Dim ChromePdfRenderer As New ChromePdfRenderer()
Dim pdfDocument = PdfDocument.FromFile("wikipedia.pdf")
' Get all text
Dim allText = pdfDocument.ExtractAllText()
' Get all Images
Dim allImages = pdfDocument.ExtractAllImages()
' Or even find the images and text by page
For index = 0 To pdfDocument.PageCount - 1
Dim pageNumber = index + 1
Dim pageText = pdfDocument.ExtractTextFromPage(index)
Dim pageImages = pdfDocument.ExtractImagesFromPage(index)
Next indexNecesitas añadir System.Drawing para guardar imágenes como mapas de bits.
Activar JavaScript
Podemos habilitar JavaScript en nuestro navegador usando IronPDF. El ejemplo de código a continuación muestra cómo habilitar JavaScript en nuestro navegador web.
var ChromePdfRenderer = new ChromePdfRenderer();
ChromePdfRenderer.RenderingOptions = new ChromePdfRenderer()
{
EnableJavaScript = true,
RenderDelay = 100
};var ChromePdfRenderer = new ChromePdfRenderer();
ChromePdfRenderer.RenderingOptions = new ChromePdfRenderer()
{
EnableJavaScript = true,
RenderDelay = 100
};Dim ChromePdfRenderer As New ChromePdfRenderer()
ChromePdfRenderer.RenderingOptions = New ChromePdfRenderer() With {
.EnableJavaScript = True,
.RenderDelay = 100
}OCR de PDF y extracción de texto
En muchos casos, puedes extraer texto incrustado directamente de documentos PDF. Escribe el siguiente código:
PdfDocument PDF = PdfDocument.FromFile("GeneratePDF.pdf");
// Get all text
string Text = PDF.ExtractAllText();PdfDocument PDF = PdfDocument.FromFile("GeneratePDF.pdf");
// Get all text
string Text = PDF.ExtractAllText();Dim PDF As PdfDocument = PdfDocument.FromFile("GeneratePDF.pdf")
' Get all text
Dim Text As String = PDF.ExtractAllText()Si esto no funciona, probablemente sea porque tu texto está realmente incrustado en una imagen.
Usa la biblioteca IronOCR para escanear documentos en busca de texto visual que no sea texto plano.
Resumen
Puedes generar documentos PDF, manipularlos y formatearlos de cualquier forma que desees con solo unas pocas líneas de código. Simplemente especifica las operaciones, y IronPDF las manejará. También hay una versión gratuita para el desarrollo y una prueba gratuita antes de la compra. Existen otras bibliotecas de generación de PDF en el mercado, pero muchas son lentas en términos de rendimiento o requieren que pagues para el desarrollo.
La biblioteca .NET de IronPDF está ahora disponible con Iron Suite for .NET. Iron Suite contiene otras bibliotecas .NET como IronXL, IronOCR, IronBarcode, etc. Estas otras bibliotecas son muy útiles para los desarrolladores, por lo que se recomienda probarlas. Si compras el Iron Suite completo, puedes obtener los cinco productos por el precio de solo dos. Para más detalles, haz clic Información del IronPDF Suite.
Puedes descargar un archivo de proyecto desde este Tutorial de Creación de PDF en C# con IronPDF.
Preguntas Frecuentes
¿Cómo puedo generar un PDF a partir de una cadena HTML en C#?
Puedes generar un PDF a partir de una cadena HTML usando el método RenderHtmlAsPdf en ChromePdfRenderer de IronPDF. Este método convierte contenido HTML en formato PDF, que luego se puede guardar usando el método SaveAs.
¿Puedo crear documentos PDF a partir de URLs de páginas web?
Sí, puedes crear PDFs a partir de URLs de páginas web con IronPDF. Utiliza el método RenderUrlAsPdf de ChromePdfRenderer para convertir el contenido de la página web en un documento PDF.
¿Cómo añado encabezados y pies de página a un PDF en C#?
Para añadir encabezados y pies de página a un PDF en C#, usa ChromePdfRenderer de IronPDF configurando las propiedades TextHeader y TextFooter en RenderingOptions. Puedes incluir elementos dinámicos como números de página y fechas.
¿Es posible cifrar documentos PDF en C#?
Sí, puedes cifrar documentos PDF en C# usando IronPDF configurando la propiedad Password del objeto PdfDocument a la contraseña deseada.
¿Cómo puedo unir o dividir archivos PDF usando C#?
Con IronPDF, puedes unir múltiples PDFs en un solo documento usando el método Merge. Para dividir documentos, puedes usar el método CopyPages para extraer páginas específicas.
¿Cuáles son los requisitos del sistema para usar IronPDF?
IronPDF soporta lenguajes .NET como C#, VB.NET y F#. Es compatible con .NET 6, 5, Core 2.x y 3.x, Standard 2 y Framework 4.x. Opera en Windows, Linux, macOS, Docker y Azure OS.
¿Puedo extraer imágenes de archivos PDF en C#?
Sí, puedes extraer imágenes de archivos PDF usando el método ExtractAllImages de IronPDF. Asegúrate de que el paquete NuGet System.Drawing.Common esté incluido para manejar imágenes.
¿Cómo instalo IronPDF en mi proyecto C#?
Instala IronPDF en tu proyecto a través del Gestor de Paquetes NuGet en Visual Studio buscando IronPDF o usando la Consola del Administrador de Paquetes con el comando Install-Package IronPdf.
¿Qué características adicionales ofrece IronPDF?
IronPDF ofrece características como crear PDFs desde múltiples fuentes, añadir encabezados y pies de página, cifrar documentos, extraer texto e imágenes y convertir contenido HTML. También soporta ejecución de JavaScript y capacidades OCR para extraer texto de PDFs con incrustaciones de imágenes.
¿IronPDF es compatible con .NET 10 y qué beneficios aporta?
Sí, IronPDF es totalmente compatible con .NET 10. Funciona de inmediato en proyectos .NET 10, igual que en versiones anteriores de .NET, en Windows, Linux, contenedores y macOS. Entre sus ventajas se incluyen un mejor rendimiento en tiempo de ejecución, soluciones alternativas sin necesidad de configuración y acceso a nuevas funciones del lenguaje C#, además de API compatibles con la ejecución asíncrona.






