Convertir archivo PDF a imágenes en C#
- Convertidor de PDF a imagen
- Convierta archivos PDF a imágenes en C# usando el paquete PDFium
- Convierta archivos PDF a imágenes en C# utilizando el paquete Syncfusion
- Convierta archivos PDF a imágenes en C# usando PDFRasterizer
 
Este artículo demuestra la conversión de archivos PDF a imágenes en C#.
Exploraremos dos métodos para convertir archivos PDF en imágenes. Para elaborar a fondo, crearemos proyectos C# paso a paso y proporcionaremos todos los fragmentos de código.
Convertidor de PDF a imagen
Hay varias formas de convertir archivos PDF en imágenes usando C#. Puede usar ensamblajes de terceros para crear un convertidor o crear uno propio.
Haremos un convertidor para convertir archivos PDF a imágenes utilizando dos ensamblajes diferentes. Estos son:
- PDFio
- Sinfusión
Estos dos paquetes de NuGet se pueden instalar desde nuget.org en sus proyectos. Creemos un proyecto C# y una guía para instalar estos paquetes paso a paso.
Convierta archivos PDF a imágenes en C# usando el paquete PDFium
- 
Cree unaAplicación de consolaen Visual Studio. Recomendamos Visual Studio 2019 o posterior para instalar y trabajar con estos paquetes. 
- 
Haga clic en la pestañaProyectoy seleccioneAdministrar paquetes NuGet, o haga clic en la pestañaHerramientas, seleccioneAdministrador de paquetes NuGety seleccioneAdministrar paquetes NuGet para la solución.  
- 
Seleccione la pestañaExaminary configure elFuente del paquetecomonuget.org.
- 
Suponga que no encuentranuget.orgen la ventanaFuente del paquete; añádelo haciendo clic en la pestañaConfiguración. Haga clic en el icono+y escriba el nombre y la fuente que se muestra en la imagen. 
- 
EscribePDFiumen la barra de búsqueda. Instale PdfiumViewer, PdfiumViewer.Native.x86.v8-xfa y PDFium.x86.  
- 
Después de instalar estos paquetes, estará disponible una referencia a PdfiumViewer en la ventanaReferencias. Cree una carpeta en el directorio de su proyecto llamadaMuestrasy coloque el archivo PDF que desea convertir en esta carpeta. 
- 
Agregue una referencia aSystem.Drawingpara importar este ensamblaje a su proyecto. Haga clic derecho en la pestaña “Referencias” en la ventana “Explorador de soluciones”, seleccione “Agregar referencia”, navegue hastaFrameworky seleccioneSystem.Drawing.  
- 
Agregue el siguiente fragmento de código al archivoProgram.cs. Puede personalizar el nombre del archivo de entrada y salida según sus necesidades.
- 
Este fragmento de código convertirá documentos de una sola página y de varias páginas. Después de ejecutar el código, su archivo PDF debe convertirse en imágenes (cada página del archivo PDF como una imagen).using PdfiumViewer; using System; using System.Drawing.Imaging; using System.IO; using System.Linq; namespace PdfToImage { class Program { static void Main(string[] args) { var projectDirectory = Directory.GetParent(Directory.GetCurrentDirectory()).Parent.FullName; try { using (var document = PdfDocument.Load(projectDirectory + @"\Samples\document.pdf")) { var pageCount = document.PageCount; for (int i = 0; i < pageCount; i++) { var dpi = 300; using (var image = document.Render(i, dpi, dpi, PdfRenderFlags.CorrectFromDpi)) { var encoder = ImageCodecInfo.GetImageEncoders().First(c => c.FormatID == ImageFormat.Jpeg.Guid); var encoderParams = new EncoderParameters(1); encoderParams.Param[0] = new EncoderParameter(System.Drawing.Imaging.Encoder.Quality, 100L); image.Save(projectDirectory + @"\Samples\image_" + i + ".jpg", encoder, encoderParams); } } } } catch (Exception ex) { Console.WriteLine(ex.Message); } Console.WriteLine("Pdf converted to images. Press any key to exit..."); Console.ReadKey(); } } }
- 
Si se enfrenta a la excepciónNo se puede encontrar un punto de entrada llamado 'FPDF_AddRef' en DLL 'pdfium.dll.', debe cambiar la plataforma de destino en su configuración de compilación.
- 
Vaya a la pestañaConstruiry seleccione la plataforma de destino según su sistema, es decir, x86 o x64. Si no encuentra el objetivo de la plataforma enConstruir, seleccione la pestañaProyecto, seleccione las propiedades del proyecto y busque el objetivo de la plataforma enConstruir.  
Convierta archivos PDF a imágenes en C# utilizando el paquete Syncfusion
- 
Cree unaAplicación de consolaen Visual Studio 2019 o una versión superior siguiendo el paso 1 como se explicó anteriormente.
- 
Siga los pasos 2 y 3, descritos en la sección anterior, para explorar el paquete Syncfusion desde NuGet.org.
- 
Busque el paqueteSyncfusion.pdfViewer.Windowse instálelo. 
- 
Agregue referencias aSystem.DrawingySystem.Windows.Formssiguiendo el paso 6 mencionado anteriormente. 
- 
Copie el siguiente fragmento de código en su archivoProgram.cspara convertir una sola página de un archivo PDF en una imagen. Puede personalizarlo para la conversión de varias páginas utilizando el buclefor.
- 
Personalice los nombres de los archivos de entrada y salida según sus necesidades. Puede seleccionar la página específica para convertir pasando el parámetro apropiado en el métodoExportAsImage().using Syncfusion.Pdf.Parsing; using Syncfusion.Windows.Forms.PdfViewer; using System.Drawing; using System.Drawing.Imaging; using System.Linq; using System.Text; using System.Threading.Tasks; namespace PDFToJPEG { class Program { static void Main(string[] args) { // Initialize the PdfViewer Control PdfViewerControl pdfViewer = new PdfViewerControl(); // Load the input PDF file PdfLoadedDocument document = new PdfLoadedDocument("../../Data/document.pdf"); pdfViewer.Load(document); Bitmap image = pdfViewer.ExportAsImage(0); // Save the image. image.Save("output.jpg", ImageFormat.Jpeg); } } }Navegue hasta el directorio del proyecto->bin->Debug para encontrar el archivo de imagen de salida. 
Convierta archivos PDF a imágenes en C# usando PDFRasterizer
PDFRasterizer es una herramienta para convertir archivos PDF a imágenes desarrolladas en C#. Proporciona la GUI utilizando el formulario de Windows.
Puede descargar el código fuente y usarlo sin ningún error. Navegue a PDFRasterizer para descargar el componente.