Pruebas en un entorno real
Pruebe en producción sin marcas de agua.
Funciona donde lo necesites.
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#.
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:
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.
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.
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.
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.
Antes de comenzar, necesitamos instalar la biblioteca IronPDF. Puedes instalarla utilizando uno de los siguientes tres métodos:
Escribe el siguiente comando en la consola del Administrador de Paquetes. Descargará e instalará el paquete por ti.
Install-Package IronPdf
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.
Esto abrirá el Administrador de Paquetes NuGet para ti. Haz clic en "Explorar" y busca IronPDF como se muestra a continuación.
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.
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
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.
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
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")
En el código anterior, he creado un nuevo renderizador ChromePdfRenderer
. Luego he llamado RenderHtmlAsPdf
y luego SaveAs
para el resultado.
Ejecuta el programa. Generará un documento PDF en la carpeta bin del proyecto ya que no hemos especificado la ruta.
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")
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.
Crear archivos PDF en C# o crear archivos PDF convirtiendo HTML a PDF son solo unas pocas líneas de código usando IronPDF.
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")
Aquí está la salida del código anterior.
Otros ejemplos de conversión de sitios populares y complejos a PDF.
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")
HTML de entrada:
Salida del archivo PDF generado:
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")
Salida del archivo PDF:
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.
AspxToPdf.RenderThisPageAsPdf(AspxToPdf.FileBehavior.InBrowser);
AspxToPdf.RenderThisPageAsPdf(AspxToPdf.FileBehavior.InBrowser);
AspxToPdf.RenderThisPageAsPdf(AspxToPdf.FileBehavior.InBrowser)
Salida del archivo PDF:
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
Salida del archivo PDF:
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.
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")
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")
Como se mencionó anteriormente, este ejemplo funciona en una aplicación de consola .NET Core. Especifica HTML con la propiedad HtmlFragment
.
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")
Salida del archivo 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")
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.
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
Necesitas agregar System.Drawing
para guardar imágenes como bitmap.
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
}
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()
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.
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.
9 productos API .NET para sus documentos de oficina