USO DE IRONPDF

Generación de archivos PDF en C#

Actualizado 20 de enero, 2022
Compartir:

Los documentos y reportes de Office a menudo necesitan convertirse en documentos PDF desde una gran variedad de formatos, incluido HTML. También puede ser necesario generar archivos PDF a partir de 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#.

¿Qué es IronPDF?

La biblioteca PDF .NET IronPDF es reconocida por muchos diseñadores, especialmente por los programadores de C#. Sin duda, puedes crear una biblioteca PDF central para .NET con esta herramienta excepcional.

IronPDF utiliza un motor Chromium .NET para convertir páginas HTML en documentos PDF. Con HTML a PDF, no hay razón para utilizar API complejas para posicionar o diseñar PDFs. IronPDF soporta documentos web estándar: HTML, ASPX, JS, CSS e imágenes.

También te permite crear una biblioteca PDF .NET utilizando HTML5, CSS, JavaScript e imágenes. Puedes editar, estampar y agregar encabezados y pies de página a un PDF fácilmente. Además, hace que sea extremadamente fácil leer texto de PDF y extraer imágenes.

IronPDF proporciona una única solución para todos los problemas de PDF. Cuando compras IronPDF, obtienes todos los cambios en una sola biblioteca, además de tareas relacionadas 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#. Puedes crear fácilmente una biblioteca PDF central para .NET con esta útil herramienta. IronPDF utiliza un motor Chromium .NET para renderizar páginas HTML en documentos PDF.

IronPDF nos ayuda a generar archivos PDF a partir de los siguientes:

  • Cadenas HTML y Plantillas
  • WebForms ASPX
  • 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 a crear archivos PDF desde URLs. También ayuda a cargar URLs con credenciales de inicio de sesión de red personalizadas, agentes de usuario, proxies, cookies, encabezados HTTP y variables de formulario que permiten el inicio de sesión detrás de formularios HTML de inicio de sesión. Puedes extraer imágenes y textos de PDF y estampar nuevo contenido HTML en cualquier página PDF existente, permitiéndote además 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 base' personalizada para permitir archivos de recursos accesibles en la web y acepta HTML codificado en cualquier codificación de documentos significativa (predeterminado UTF-8). Puedes guardar y cargar desde un documento, datos binarios o MemoryStreams y transformar documentos PDF en un objeto PrintDocument e 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 sistemas operativos Microsoft Windows, Linux, macOS, Docker y Azure. Los IDEs de IronPDF incluyen Microsoft Visual Studio, JetBrains ReSharper y Rider.

Pasos para generar documentos PDF

Primero, necesitamos crear un nuevo proyecto de Visual Studio. Utilizaré la plantilla de aplicación de consola para esta demostración. Puedes usar cualquier opción de acuerdo a tus requisitos y elección.

También puedes usar tu proyecto existente en el que quieras agregar una herramienta de generación de archivos PDF.

Crear un proyecto de Visual Studio

Abre Microsoft Visual Studio 2019, o cualquier otra versión. Se recomienda la versión más reciente. 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 llamado "C Sharp Generate PDF". Puedes nombrarlo como prefieras. Haz clic en el botón "Siguiente" y establece el marco .NET de destino. He establecido mi marco .NET de destino en ".NET 5.0", la versión estable más reciente. Haz clic en el botón "Crear". Se creará un nuevo proyecto para ti.

Instalar el paquete NuGet en Visual Studio

Antes de comenzar, necesitamos instalar la biblioteca IronPDF. Puedes instalarla utilizando uno de los siguientes tres métodos:

Consola del Administrador de Paquetes

Escribe el siguiente comando en la consola del Administrador de Paquetes. Descargará e instalará el paquete por ti.

Install-Package IronPdf

Image 1

La Solución del Administrador de Paquetes NuGet

También puedes instalar la biblioteca Barcode utilizando la Solución de Paquetes NuGet. Simplemente sigue estos pasos:

Haz clic en Herramientas > Administrador de Paquetes NuGet > Administrar Solución de Paquetes NuGet.

Image 2

Esto abrirá el Administrador de Paquetes NuGet para ti. Haz clic en "Explorar" y busca IronPDF como se muestra a continuación.

Image 3

Haz clic en IronPDF y luego haz clic en el botón "Instalar". Esto instalará IronPDF en tu proyecto. Ahora eres libre de usar cualquiera de sus funciones en tu proyecto.

Descargar desde el Enlace

Alternativamente, puedes descargar el DLL directamente.

Recuerda agregar esta declaración en la parte superior de cualquier archivo de clase cs que use IronPDF:

using IronPdf;
using IronPdf;
Imports IronPdf
VB   C#

Consulta IronPDF en NuGet para más información sobre actualizaciones de versiones e instalación.

Hay otros Paquetes NuGet de IronPDF disponibles para despliegues específicos en Linux, Mac, Azure y AWS que están documentados en la guía avanzada de instalación de NuGet de IronPDF.

La biblioteca IronPDF ahora ha sido instalada, así que pasemos al siguiente paso.

Generar archivos PDF a partir de una cadena HTML

IronPDF puede generar archivos PDF a partir de texto HTML con bastante facilidad. El siguiente ejemplo ilustra esta capacidad. Usa esta opción cuando solo necesites agregar texto simple a tu archivo PDF.

Agrega el siguiente espacio de nombres:

using IronPdf;
using IronPdf;
Imports IronPdf
VB   C#

Usando el siguiente ejemplo de código:

var Renderer = new ChromePdfRenderer();
Renderer.RenderHtmlAsPdf("<h1>Este es el tutorial para generar PDF en C#<h1>").SaveAs("GeneratePDF.pdf");
var Renderer = new ChromePdfRenderer();
Renderer.RenderHtmlAsPdf("<h1>Este es el tutorial para generar PDF en C#<h1>").SaveAs("GeneratePDF.pdf");
Dim Renderer = New ChromePdfRenderer()
Renderer.RenderHtmlAsPdf("<h1>Este es el tutorial para generar PDF en C#<h1>").SaveAs("GeneratePDF.pdf")
VB   C#

En el código anterior, he creado un nuevo renderizador ChromePdfRenderer. Luego he llamado RenderHtmlAsPdf y luego SaveAs para el resultado.

Salida

Ejecuta el programa. Generará un documento PDF en la carpeta bin del proyecto ya que no hemos especificado la ruta.

Image 4

Genera tus primeros archivos PDF

Después de que la biblioteca 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 siguiente código y pégalo en tu Visual Studio y ejecuta el programa.

var PDF = new ChromePdfRenderer();
PdfDocument doc = pdf.RenderHtmlAsPdf("<h1>Esto es un encabezado</h1>");
mypdf.Save

As("FirstPDFDocument.pdf");
var PDF = new ChromePdfRenderer();
PdfDocument doc = pdf.RenderHtmlAsPdf("<h1>Esto es un encabezado</h1>");
mypdf.Save

As("FirstPDFDocument.pdf");
Dim PDF = New ChromePdfRenderer()
Dim doc As PdfDocument = pdf.RenderHtmlAsPdf("<h1>Esto es un encabezado</h1>")
mypdf.Save [As]("FirstPDFDocument.pdf")
VB   C#

Después de la ejecución de tu proyecto 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.

Image 9

Crear archivos PDF en C# o crear archivos PDF convirtiendo HTML a PDF son solo unas pocas líneas de código usando IronPDF.

Generar documentos PDF a partir de una 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 archivos PDF a partir de una URL.

using IronPdf;
var Renderer = new IronPdf.ChromePdfRenderer();
// Crear un PDF a partir de una URL o ruta de archivo local
using var PDF = Renderer.RenderUrlAsPdf("https://www.amazon.com/?tag=hp2-brobookmark-us-20");
// Exportar a un archivo o Stream
pdf.SaveAs("url.pdf");
using IronPdf;
var Renderer = new IronPdf.ChromePdfRenderer();
// Crear un PDF a partir de una URL o ruta de archivo local
using var PDF = Renderer.RenderUrlAsPdf("https://www.amazon.com/?tag=hp2-brobookmark-us-20");
// Exportar a un archivo o Stream
pdf.SaveAs("url.pdf");
Imports IronPdf
Private Renderer = New IronPdf.ChromePdfRenderer()
' Crear un PDF a partir de una URL o ruta de archivo local
Private PDF = Renderer.RenderUrlAsPdf("https://www.amazon.com/?tag=hp2-brobookmark-us-20")
' Exportar a un archivo o Stream
pdf.SaveAs("url.pdf")
VB   C#

Aquí está la salida del código anterior.

Image 10

Otros ejemplos de conversión de sitios populares y complejos a PDF.

Image 11

Generación de archivos PDF a partir de un archivo HTML

Podemos generar un documento PDF a partir de 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 se llama 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")
VB   C#

HTML de entrada:

Image 5

Salida del archivo PDF generado:

Image 6

Generar archivos PDF a partir de URLs

Podemos generar archivos PDF a partir de 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 a partir de 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")
VB   C#

Salida del archivo PDF:

Image 7

Generar un documento PDF a partir de formularios web ASP.NET

Podemos generar un documento PDF a partir de 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 en 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)
VB   C#

Salida del archivo PDF:

Image 8

Generar archivos PDF a partir de vistas ASP MVC

Podemos generar documentos PDF desde el framework 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 agrega 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 Function
VB   C#

Salida del archivo PDF:

Image 9

Agregar 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;
//Opciones del encabezado
ChromePdfRenderer.RenderingOptions.TextHeader.DrawDividerLine = true;
ChromePdfRenderer.RenderingOptions.TextHeader.CenterText = "Este es el encabezado {date} {time}";
ChromePdfRenderer.RenderingOptions.TextHeader.FontFamily = "Helvetica,Arial";
ChromePdfRenderer.RenderingOptions.TextHeader.FontSize = 12;
//Opciones del pie de página
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>Esta es mi página de ejemplo para el tutorial de generar PDF<h1>").SaveAs("GeneratePDF.pdf");
var ChromePdfRenderer = new ChromePdfRenderer();
ChromePdfRenderer.RenderingOptions.FirstPageNumber = 1;
//Opciones del encabezado
ChromePdfRenderer.RenderingOptions.TextHeader.DrawDividerLine = true;
ChromePdfRenderer.RenderingOptions.TextHeader.CenterText = "Este es el encabezado {date} {time}";
ChromePdfRenderer.RenderingOptions.TextHeader.FontFamily = "Helvetica,Arial";
ChromePdfRenderer.RenderingOptions.TextHeader.FontSize = 12;
//Opciones del pie de página
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>Esta es mi página de ejemplo para el tutorial de generar PDF<h1>").SaveAs("GeneratePDF.pdf");
Dim ChromePdfRenderer As New ChromePdfRenderer()
ChromePdfRenderer.RenderingOptions.FirstPageNumber = 1
'Opciones del encabezado
ChromePdfRenderer.RenderingOptions.TextHeader.DrawDividerLine = True
ChromePdfRenderer.RenderingOptions.TextHeader.CenterText = "Este es el encabezado {date} {time}"
ChromePdfRenderer.RenderingOptions.TextHeader.FontFamily = "Helvetica,Arial"
ChromePdfRenderer.RenderingOptions.TextHeader.FontSize = 12
'Opciones del pie de página
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>Esta es mi página de ejemplo para el tutorial de generar PDF<h1>").SaveAs("GeneratePDF.pdf")
VB   C#

Salida del archivo PDF con encabezado y pie de página

Image 10

Agregar encabezados y pies de página con HTML

Podemos agregar 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 = "Este es el pie de página {date}",
};
ChromePdfRenderer.RenderHtmlAsPdf("<h1>Esta es la página de ejemplo para el 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 = "Este es el pie de página {date}",
};
ChromePdfRenderer.RenderHtmlAsPdf("<h1>Esta es la página de ejemplo para el 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 = "Este es el pie de página {date}"
}
ChromePdfRenderer.RenderHtmlAsPdf("<h1>Esta es la página de ejemplo para el tutorial.<h1>").SaveAs("GeneratePDF.pdf")
VB   C#

Como se mencionó anteriormente, este ejemplo funciona en una aplicación de consola .NET Core. Especifica HTML con la propiedad HtmlFragment.

Image 11

Encriptar documentos PDF con una contraseña

Podemos generar documentos PDF con contraseñas. Establece la propiedad "Password" de un documento PDF para encriptarlo y forzar al usuario a ingresar la contraseña correcta para ver el documento. Este ejemplo funciona en una aplicación de consola .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")
VB   C#

Salida del archivo PDF:

Image 12

Fusionar y dividir documentos PDF

Podemos fusionar múltiples documentos PDF en un nuevo documento PDF único. Usa el siguiente código para fusionar y dividir.

var ChromePdfRenderer = new ChromePdfRenderer();
//Unir múltiples PDFs existentes en un solo documento
var pdfDocuments = new List<PdfDocument>();
pdfDocuments.Add(PdfDocument.FromFile("AccountPdf.pdf"));
pdfDocuments.Add(PdfDocument.FromFile("GeneratePDF.pdf"));
pdfDocuments.Add(PdfDocument.FromFile("wikipedia.pdf"));
var mergedPdfDocument = PdfDocument.Merge(pdfDocuments);
mergedPdfDocument.SaveAs("merged.pdf");
//Agregar una página de portada 
mergedPdfDocument.PrependPdf(ChromePdfRenderer.RenderHtmlAsPdf("<h1>Página de portada</h1><hr>"));
//Eliminar la última página del PDF y guardar nuevamente
mergedPdfDocument.RemovePage(mergedPdfDocument.PageCount - 1);
mergedPdfDocument.SaveAs("merged.pdf");
//Copiar las páginas 1 y 2 y guardarlas como un nuevo documento.
mergedPdfDocument.CopyPages

(1, 2).SaveAs("exerpt.pdf");
var ChromePdfRenderer = new ChromePdfRenderer();
//Unir múltiples PDFs existentes en un solo documento
var pdfDocuments = new List<PdfDocument>();
pdfDocuments.Add(PdfDocument.FromFile("AccountPdf.pdf"));
pdfDocuments.Add(PdfDocument.FromFile("GeneratePDF.pdf"));
pdfDocuments.Add(PdfDocument.FromFile("wikipedia.pdf"));
var mergedPdfDocument = PdfDocument.Merge(pdfDocuments);
mergedPdfDocument.SaveAs("merged.pdf");
//Agregar una página de portada 
mergedPdfDocument.PrependPdf(ChromePdfRenderer.RenderHtmlAsPdf("<h1>Página de portada</h1><hr>"));
//Eliminar la última página del PDF y guardar nuevamente
mergedPdfDocument.RemovePage(mergedPdfDocument.PageCount - 1);
mergedPdfDocument.SaveAs("merged.pdf");
//Copiar las páginas 1 y 2 y guardarlas como un nuevo documento.
mergedPdfDocument.CopyPages

(1, 2).SaveAs("exerpt.pdf");
Dim ChromePdfRenderer As New ChromePdfRenderer()
'Unir múltiples PDFs existentes en un solo documento
Dim pdfDocuments = New List(Of PdfDocument)()
pdfDocuments.Add(PdfDocument.FromFile("AccountPdf.pdf"))
pdfDocuments.Add(PdfDocument.FromFile("GeneratePDF.pdf"))
pdfDocuments.Add(PdfDocument.FromFile("wikipedia.pdf"))
Dim mergedPdfDocument = PdfDocument.Merge(pdfDocuments)
mergedPdfDocument.SaveAs("merged.pdf")
'Agregar una página de portada 
mergedPdfDocument.PrependPdf(ChromePdfRenderer.RenderHtmlAsPdf("<h1>Página de portada</h1><hr>"))
'Eliminar la última página del PDF y guardar nuevamente
mergedPdfDocument.RemovePage(mergedPdfDocument.PageCount - 1)
mergedPdfDocument.SaveAs("merged.pdf")
'Copiar las páginas 1 y 2 y guardarlas como un nuevo documento.
mergedPdfDocument.CopyPages(1, 2).SaveAs("exerpt.pdf")
VB   C#

Usa la función "Merge" para fusionar varios archivos PDF juntos, o "CopyPages" para dividir una serie de páginas de un documento existente. Incluye PDFs en tu proyecto como "Contenido" para acceder a ellos por nombre de archivo.

Image 13

Extraer imágenes de documentos PDF

Esta característica requiere un paquete NuGet adicional. Instala System.Drawing.Common. Usa ExtractAllText para obtener texto y la función ExtractAllImages para obtener imágenes.

var ChromePdfRenderer = new ChromePdfRenderer();
var pdfDocument = PdfDocument.FromFile("wikipedia.pdf");
//Obtener todo el texto
var allText = pdfDocument.ExtractAllText();
//Obtener todas las imágenes
var allImages = pdfDocument.ExtractAllImages();

//O incluso encontrar las imágenes y el texto por página
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");
//Obtener todo el texto
var allText = pdfDocument.ExtractAllText();
//Obtener todas las imágenes
var allImages = pdfDocument.ExtractAllImages();

//O incluso encontrar las imágenes y el texto por página
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")
'Obtener todo el texto
Dim allText = pdfDocument.ExtractAllText()
'Obtener todas las imágenes
Dim allImages = pdfDocument.ExtractAllImages()

'O incluso encontrar las imágenes y el texto por página
For index = 0 To pdfDocument.PageCount - 1
	Dim pageNumber = index + 1
	Dim pageText = pdfDocument.ExtractTextFromPage(index)
	Dim pageImages = pdfDocument.ExtractImagesFromPage(index)
Next index
VB   C#

Necesitas agregar System.Drawing para guardar imágenes como bitmap.

Habilitar JavaScript

Podemos habilitar JavaScript en nuestro navegador usando IronPDF. El siguiente ejemplo de código 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
}
VB   C#

PDF OCR y extracción de texto

En muchos casos, puedes extraer texto incrustado de documentos PDF directamente.

Escribe el siguiente código:

PdfDocument PDF = PdfDocument.FromFile("GeneratePDF.pdf");
//Obtener todo el texto 
string Text = PDF.ExtractAllText();
PdfDocument PDF = PdfDocument.FromFile("GeneratePDF.pdf");
//Obtener todo el texto 
string Text = PDF.ExtractAllText();
Dim PDF As PdfDocument = PdfDocument.FromFile("GeneratePDF.pdf")
'Obtener todo el texto 
Dim Text As String = PDF.ExtractAllText()
VB   C#

Si esto no funciona, probablemente se deba a que tu texto está 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, manipular y formatearlos de cualquier manera que desees con solo unas pocas líneas de código. Simplemente especifica las operaciones y IronPDF las tendrá. También hay una versión gratuita para desarrollo y una prueba gratuita antes de la compra. Hay otras bibliotecas de generación de PDF en el mercado, pero muchas son lentas en términos de rendimiento o requieren que pagues por el desarrollo.

La biblioteca .NET IronPDF ahora está disponible con Iron Suite para .NET. Iron Suite contiene otras bibliotecas .NET como la biblioteca IronXL, la biblioteca IronOCR, la biblioteca IronBarcode, etc. Estas otras bibliotecas son muy útiles para los desarrolladores, por lo que se recomienda probarlas. Si compras la suite completa de Iron, puedes obtener los cinco productos por el precio de solo dos. Para más detalles, haz clic aquí.

Puedes descargar un proyecto de archivo desde este enlace.

< ANTERIOR
x509certificate2 Añadir firma digital a PDF mediante programación
SIGUIENTE >
Crear PDF en C# a partir de un archivo HTML

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

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