Convertir PDF a Imágenes usando C#

Es posible que deba compartir las páginas de los documentos PDF como archivos de imagen con otras personas. Como desarrollador de C#, puede convertir fácilmente archivos PDF a PNG, JPG, TIFF o BMP mediante programación en sus aplicaciones .NET. En este artículo, aprenderá cómo convertir PDF a imágenes usando C#.

Los siguientes temas se discuten/tratan en este artículo:

API de C# de conversión de PDF a imagen

Para convertir PDF en imágenes, usaré Aspose.PDF para .NET API. Es una poderosa API de administración de archivos PDF que le permite manipular documentos PDF desde sus aplicaciones .NET. Le permite crear, modificar, convertir, renderizar, asegurar e imprimir documentos sin usar Adobe Acrobat.

Puede descargar la DLL de la API o instalarla mediante NuGet.

Install-Package Aspose.Pdf

Convierta imágenes PDF a PNG usando C#

Puede convertir archivos PDF a imágenes PNG mediante programación siguiendo los pasos que se detallan a continuación:

  • Cree una instancia de la clase Documento con la ruta del archivo PDF de entrada.
  • Recorra todas las páginas del PDF usando la colección Document.Pages y haga lo siguiente:
    • Cree una instancia de la clase Resolución y establezca su valor.
    • Cree una instancia de la clase PngDevice y pase el objeto Width, Height y Resolution.
    • Llame al método Process(Page, String) con el número de página y la ruta de la imagen PNG de salida para convertir la página a PNG.

El siguiente ejemplo de código muestra cómo convertir páginas PDF a imágenes PNG usando C#.

// Abrir documento
Document pdfDocument = new Document("C:\\Files\\sample.pdf");

foreach (var page in pdfDocument.Pages)
{
    // Definir resolución
    Resolution resolution = new Resolution(300);

    // Crear dispositivo Png con atributos especificados
    // Ancho, Alto, Resolución
    PngDevice PngDevice = new PngDevice(500, 700, resolution);

    // Convierta una página en particular y guarde la imagen para transmitir
    PngDevice.Process(pdfDocument.Pages[page.Number], "C:\\Files\\image" + page.Number + "_out" + ".Png");
}
Convierta imágenes PDF a PNG usando C#

Convierta imágenes PDF a PNG usando C#

La clase Documento representa el documento PDF. Proporciona varias propiedades y métodos para realizar diversas funcionalidades. La colección Document.Pages es una colección de páginas de documentos y la numeración de páginas comienza desde 1 en la colección. La clase Resolución define la resolución de la imagen. La clase PngDevice permite guardar páginas del documento PDF en imágenes PNG. Esta clase proporciona los siguientes métodos para guardar páginas en imágenes PNG:

Convierta imágenes PDF a JPG usando C#

Puede convertir archivos PDF a imágenes JPG mediante programación siguiendo los pasos que se detallan a continuación:

  • Cree una instancia de la clase Documento con la ruta del archivo de entrada.
  • Recorra todas las páginas del PDF usando la colección Document.Pages y haga lo siguiente:
    • Cree una instancia de la clase Resolución y establezca su valor.
    • Cree una instancia de la clase JpegDevice y pase el objeto Width, Height y Resolution.
    • Llame al método Process(Page, String) con el número de página y la ruta de la imagen JPG de salida para convertir la página a JPG.

El siguiente ejemplo de código muestra cómo convertir páginas PDF a imágenes JPG usando C#.

// Abrir documento
Document pdfDocument = new Document("C:\\Files\\sample.pdf");

foreach (var page in pdfDocument.Pages)
{
    // Definir resolución
    Resolution resolution = new Resolution(300);
    
    // Crear dispositivo JPEG con atributos específicos
    // Ancho, Alto, Resolución
    JpegDevice JpegDevice = new JpegDevice(500, 700, resolution);

    // Convierta una página en particular y guarde la imagen para transmitir
    JpegDevice.Process(pdfDocument.Pages[page.Number], "C:\\Files\\image" + page.Number + "_out" + ".Jpg");
}
Convierta imágenes PDF a JPG usando C#

Convierta imágenes PDF a JPG usando C#

Conversión de PDF a BMP usando C#

Puede convertir archivos PDF a imágenes BMP mediante programación siguiendo los pasos que se detallan a continuación:

  • Cree una instancia de la clase Documento con la ruta del archivo de entrada.
  • Recorra todas las páginas del PDF usando la colección Document.Pages y haga lo siguiente:
    • Cree una instancia de la clase Resolución y establezca su valor.
    • Cree una instancia de la clase BmpDevice y pase el objeto Width, Height y Resolution.
    • Llame al método Process(Page, String) con el número de página y la ruta de la imagen BMP de salida para convertir la página a un BMP.

El siguiente ejemplo de código muestra cómo convertir páginas PDF a imágenes BMP usando C#.

// Abrir documento
Document pdfDocument = new Document("C:\\Files\\sample.pdf");

foreach (var page in pdfDocument.Pages)
{
    // Definir resolución
    Resolution resolution = new Resolution(300);
    
    // Crear dispositivo PNG con atributos específicos
    // Ancho, Alto, Resolución
    BmpDevice BmpDevice = new BmpDevice(500, 700, resolution);

    // Convierta una página en particular y guarde la imagen para transmitir
    BmpDevice.Process(pdfDocument.Pages[page.Number], "C:\\Files\\image" + page.Number + "_out" + ".bmp");
}
Conversión de PDF a BMP usando C#

Conversión de PDF a BMP usando C#

Conversión de PDF a TIFF usando C#

Puede convertir archivos PDF a TIFF mediante programación siguiendo los pasos que se indican a continuación:

  • Cree una instancia de la clase Documento con la ruta del archivo de entrada.
  • Inicialice una instancia de la clase Resolución y establezca su valor.
  • Cree una instancia de la clase TiffSettings.
  • Establezca varias propiedades, como compresión, profundidad, forma y omitir páginas en blanco, etc.
  • Cree una instancia de la clase TiffDevice con los objetos Resolution y TiffSettings.
  • Llame al método Process(Document, String) con el objeto Document y la ruta del archivo TIFF de salida para convertir el documento a TIFF.

El siguiente ejemplo de código muestra cómo convertir un archivo PDF a TIFF usando C#.

// Abrir documento
Document pdfDocument = new Document("C:\\Files\\sample.pdf");

// Definir resolución
Resolution resolution = new Resolution(300);

// Crear objeto TiffSettings
TiffSettings tiffSettings = new TiffSettings
{
    Compression = CompressionType.None,
    Depth = ColorDepth.Default,
    Shape = ShapeType.Portrait,
    SkipBlankPages = false
};

// Crear dispositivo TIFF
TiffDevice tiffDevice = new TiffDevice(resolution, tiffSettings);

// Convierta una página en particular y guarde la imagen para transmitir
tiffDevice.Process(pdfDocument, "C:\\Files\\AllPagesToTIFF_out.tif");
Conversión de PDF a TIFF usando C#

Conversión de PDF a TIFF usando C#

La clase TiffSettings proporciona varias configuraciones para convertir un PDF a TIFF. Puede configurar Brillo, Compresión, Tipo de coordenadas, Profundidad, Márgenes, Forma y Saltar páginas en blanco al convertir PDF a TIFF.

Extraiga imágenes de documentos PDF usando C#

Puede extraer todas las imágenes de cualquier archivo PDF mediante programación siguiendo los pasos que se detallan a continuación:

  • Cree una instancia de la clase Documento con la ruta del archivo de entrada.
  • Para cada página, cree una instancia XImage para cada imagen en la colección Page.Resources.Images.
  • Cree una instancia de la clase FileStream con la ruta del archivo de imagen de salida.
  • Llame al método Save() con el objeto FileStream para guardar la imagen
  • Finalmente, cierre FileStream usando el método Close().

El siguiente ejemplo de código muestra cómo extraer imágenes de un documento PDF usando C#.

// Abrir documento
Document pdfDocument = new Document("C:\\Files\\sample.pdf");

// Bucle a través de las páginas
foreach (var page in pdfDocument.Pages)
{
    int imageCounter = 1;
    // Bucle a través de todas las imágenes
    foreach (XImage image in page.Resources.Images)
    {
        // Crear secuencia de archivos para la imagen
        FileStream outputImage = new FileStream(String.Format("C:\\Files\\Page{0}_Image{1}.jpg", page.Number, imageCounter), FileMode.Create);

        // Guardar imagen de salida
        image.Save(outputImage);

        // Cerrar transmisión
        outputImage.Close();

        imageCounter++;
    }
}
Extraiga imágenes de documentos PDF usando C#

Extraiga imágenes de documentos PDF usando C#

La clase XImage representa la imagen X-Object. Proporciona varias propiedades y métodos para trabajar con imágenes. La clase XImage proporciona los siguientes métodos para guardar el objeto de imagen:

La colección Page.Resources.Images representa la colección de imágenes para la página específica.

Obtenga una licencia gratis

Puede probar la API sin limitaciones de evaluación solicitando una licencia temporal gratuita.

Conclusión

En este artículo, ha aprendido cómo convertir páginas de archivos PDF en imágenes usando C#. También aprendió cómo convertir PDF a PNG, PDF a JPG, PDF a BMP y PDF a TIFF mediante programación. Además, ha aprendido a extraer imágenes de un archivo PDF usando C#. La API también ofrece opciones de compresión, creación y manipulación de tablas, funciones de gráficos e imágenes, amplia funcionalidad de hipervínculos, tareas de sellos y marcas de agua, controles de seguridad ampliados y gestión de fuentes personalizadas. Puede obtener más información sobre Aspose.PDF para la API de .NET utilizando la documentación. En caso de cualquier ambigüedad, no dude en contactarnos en el foro.

Ver también