Cómo rasterizar un PDF en imágenes

por Chaknith Bin

Rasterizar un archivo PDF implica convertirlo en un formato de imagen basado en píxeles, como JPEG o PNG. Este proceso transforma cada página del PDF en una imagen estática, donde el contenido se representa mediante píxeles. La rasterización ofrece varias ventajas, como la capacidad de mostrar contenido PDF, generar miniaturas, realizar procesado de imágenes y facilitar el intercambio seguro de documentos.

Con IronPDF, puede convertir PDF en imágenes de forma sencilla y mediante programación. Tanto si necesita incorporar el renderizado de PDF a su aplicación, generar vistas previas de imágenes, realizar operaciones basadas en imágenes o mejorar la seguridad de los documentos, IronPDF es la solución.


Biblioteca NuGet C# para PDF

Instalar con NuGet

Install-Package IronPdf
o
Java PDF JAR

Descargar DLL

Descargar DLL

Instalar manualmente en su proyecto

Rasterizar un PDF en imágenes Ejemplo

El método RasterizeToImageFiles se utiliza para exportar imágenes de un documento PDF. Este método está disponible en el objeto PdfDocument, tanto si está importando un archivo de documento PDF localmente como si lo está renderizando desde un archivo Archivo HTML, Cadena HTMLo URL de la web.

Tenga en cuenta
Se requiere una extensión de archivo como .png, .jpg o .tif para el parámetro FileNamePattern.

Todos los tipos de campos de formulario no se rasterizarán y serán invisibles en la imagen de salida.

Consejo
El asterisco (*) contenidos en el FileNamePattern serán sustituidos por los números de página correspondientes.

:path=/static-assets/pdf/content-code-examples/how-to/rasterize-pdf-to-images-rasterize.cs
using IronPdf;

//  Instanciar renderizador
ChromePdfRenderer renderer = new ChromePdfRenderer();

//  Renderizar PDF desde URL web
PdfDocument pdf = renderer.RenderUrlAsPdf("https://es.wikipedia.org/wiki/Página_principal");

//  Exportar imágenes desde PDF
pdf.RasterizeToImageFiles("wikipage_*.png");
Imports IronPdf

'  Instanciar renderizador
Private renderer As New ChromePdfRenderer()

'  Renderizar PDF desde URL web
Private pdf As PdfDocument = renderer.RenderUrlAsPdf("https://es.wikipedia.org/wiki/Página_principal")

'  Exportar imágenes desde PDF
pdf.RasterizeToImageFiles("wikipage_*.png")
VB   C#

Carpeta de salida

Carpeta de salida

Rasterizar un PDF en imágenes Ejemplo avanzado

Exploremos los parámetros adicionales disponibles para el método RasterizeToImageFiles.

Especifique el tipo de imagen

Otro parámetro proporcionado por el método permite especificar los tipos de archivo para las imágenes de salida. Admitimos los formatos BMP, JPEG, PNG, GIF, TIFF y SVG. Cada tipo tiene su método correspondiente que puede invocarse directamente desde el objeto PdfDocument para exportar el tipo de imagen respectivo. Estos son los métodos disponibles:

  • ToBitmap: Rasteriza (rinde) el PDF en objetos IronSoftware.Drawing.AnyBitmap individuales, con un Bitmap para cada página.
  • ToJpegImages: Renderiza las páginas PDF como archivos JPEG y los guarda en disco.
  • ToPngImages: Renderiza las páginas PDF como PNG (Gráfico de red portátil) y los guarda en el disco.
  • ToTiffImages: Renderiza las páginas PDF como TIFF de una sola página. (Tagged Formato de archivo de imagen / Tif) y los guarda en el disco.
  • ToMultiPageTiffImage`: Renderiza las páginas PDF como un único archivo TIFF multipágina y lo guarda en disco.
  • Guardar como SVG: Convierte el documento PDF a un formato SVG y lo guarda en la ruta de archivo especificada.
  • ToSvgString: Convierte una página específica del documento PDF a un formato SVG y lo devuelve como una cadena.
:path=/static-assets/pdf/content-code-examples/how-to/rasterize-pdf-to-images-image-type.cs
using IronPdf;

//  Instanciar renderizador
ChromePdfRenderer renderer = new ChromePdfRenderer();

//  Renderizar PDF desde URL web
PdfDocument pdf = renderer.RenderUrlAsPdf("https://es.wikipedia.org/wiki/Página_principal");

//  Exportar imágenes desde PDF
pdf.RasterizeToImageFiles("wikipage_*.png", IronPdf.Imaging.ImageType.Png);
Imports IronPdf

'  Instanciar renderizador
Private renderer As New ChromePdfRenderer()

'  Renderizar PDF desde URL web
Private pdf As PdfDocument = renderer.RenderUrlAsPdf("https://es.wikipedia.org/wiki/Página_principal")

'  Exportar imágenes desde PDF
pdf.RasterizeToImageFiles("wikipage_*.png", IronPdf.Imaging.ImageType.Png)
VB   C#

Especifique DPI

Cuando se utiliza el DPI por defecto de 96, las imágenes de salida pueden aparecer borrosas. Para mitigar este fenómeno, es importante especificar un valor de PPP más alto.

:path=/static-assets/pdf/content-code-examples/how-to/rasterize-pdf-to-images-dpi.cs
using IronPdf;

//  Instanciar renderizador
ChromePdfRenderer renderer = new ChromePdfRenderer();

//  Renderizar PDF desde URL web
PdfDocument pdf = renderer.RenderUrlAsPdf("https://es.wikipedia.org/wiki/Página_principal");

//  Exportar imágenes desde PDF con DPI 150
pdf.RasterizeToImageFiles("wikipage_*.png", DPI: 150);
Imports IronPdf

'  Instanciar renderizador
Private renderer As New ChromePdfRenderer()

'  Renderizar PDF desde URL web
Private pdf As PdfDocument = renderer.RenderUrlAsPdf("https://es.wikipedia.org/wiki/Página_principal")

'  Exportar imágenes desde PDF con DPI 150
pdf.RasterizeToImageFiles("wikipage_*.png", DPI:= 150)
VB   C#

Especificar el índice de páginas

También es posible especificar las páginas del documento PDF que desea rasterizar en imagen(s). En el ejemplo siguiente, se generarán como salida imágenes de las páginas 1-3 del documento PDF.

:path=/static-assets/pdf/content-code-examples/how-to/rasterize-pdf-to-images-page-indexes.cs
using IronPdf;
using System.Linq;

//  Instanciar renderizador
ChromePdfRenderer renderer = new ChromePdfRenderer();

//  Renderizar PDF desde URL web
PdfDocument pdf = renderer.RenderUrlAsPdf("https://es.wikipedia.org/wiki/Página_principal");

//  Exportar imágenes desde PDF página 1_3
pdf.RasterizeToImageFiles("wikipage_*.png", Enumerable.Range(1, 3));
Imports IronPdf
Imports System.Linq

'  Instanciar renderizador
Private renderer As New ChromePdfRenderer()

'  Renderizar PDF desde URL web
Private pdf As PdfDocument = renderer.RenderUrlAsPdf("https://es.wikipedia.org/wiki/Página_principal")

'  Exportar imágenes desde PDF página 1_3
pdf.RasterizeToImageFiles("wikipage_*.png", Enumerable.Range(1, 3))
VB   C#

Especifique las dimensiones de la imagen

Al convertir documentos PDF en imágenes, tiene la flexibilidad de personalizar la altura y la anchura de las imágenes de salida. Los valores de altura y anchura proporcionados representan las dimensiones máximas, al tiempo que garantizan que se conserva la relación de aspecto del documento original. Por ejemplo, en el caso de un documento PDF vertical, el valor de altura especificado será exacto, mientras que el valor de anchura puede ajustarse para mantener la relación de aspecto correcta.

:path=/static-assets/pdf/content-code-examples/how-to/rasterize-pdf-to-images-image-dimensions.cs
using IronPdf;

//  Instanciar renderizador
ChromePdfRenderer renderer = new ChromePdfRenderer();

//  Renderizar PDF desde URL web
PdfDocument pdf = renderer.RenderUrlAsPdf("https://es.wikipedia.org/wiki/Página_principal");

//  Exportar imágenes desde PDF
pdf.RasterizeToImageFiles("wikipage_*.png", 500, 500);
Imports IronPdf

'  Instanciar renderizador
Private renderer As New ChromePdfRenderer()

'  Renderizar PDF desde URL web
Private pdf As PdfDocument = renderer.RenderUrlAsPdf("https://es.wikipedia.org/wiki/Página_principal")

'  Exportar imágenes desde PDF
pdf.RasterizeToImageFiles("wikipage_*.png", 500, 500)
VB   C#

Especificaciones de las imágenes de salida

Las dimensiones de las imágenes de salida se especifican utilizando el formato de anchura por altura, denotado como anchura x altura.

Rasterización de imágenes a partir de un PDF vertical
Rasterización de imágenes a partir de un PDF apaisado

Chaknith Bin

Ingeniero de software

Chaknith es el Sherlock Holmes de los desarrolladores. La primera vez que se le ocurrió que podría tener futuro en la ingeniería de software fue cuando hacía retos de código por diversión. Su trabajo se centra en IronXL e IronBarcode, pero se enorgullece de ayudar a los clientes con todos los productos. Chaknith aprovecha sus conocimientos, adquiridos hablando directamente con los clientes, para ayudar a mejorar los propios productos. Sus comentarios anecdóticos van más allá de los tickets de Jira y apoyan el desarrollo de productos, la documentación y el marketing, para mejorar la experiencia general del cliente.Cuando no está en la oficina, se le puede encontrar aprendiendo sobre aprendizaje automático, codificación y senderismo.