Tabla de contenido
Instalado a través de NuGet
PM> Install-Package Spire.PDF
enlaces relacionados
Los archivos PDF se utilizan ampliamente en el trabajo diario debido a su diseño estable, fácil transferencia y alta legibilidad. En algunos casos, es posible que necesites convertir PDF a imágenes. Guardar contenido como imágenes no solo acelera la carga, sino que también reduce el riesgo de edición accidental. Además, si desea incrustar archivos o páginas PDF en otros documentos o páginas web, convertirlos a formatos de imagen específicos es una excelente opción. Este pasaje cubre los detalles de usando C# para convertir PDF a imagen. Y puede convertir PDF sin esfuerzo a los formatos de imagen deseados con código C# y al mismo tiempo preservar la fidelidad visual del contenido original.
- Biblioteca C# para conversión de PDF
- Clasificación de formatos de imagen
- Convertir PDF a PNG/JPG/BMP/EMF/TIFF en C#
- Convertir PDF a SVG en C#
- Convierta PDF a TIFF de varias páginas en C#
Biblioteca C# para conversión de PDF
Este artículo demuestra cómo convertir PDF a imagen usando Spire.PDF for .NET, que es una biblioteca confiable de procesamiento de PDF que le permite manipular y convertir archivos PDF dentro de aplicaciones .NET. Con él, incluso puedes ajustar las propiedades de la imagen, como su tamaño y píxeles, durante la conversión de PDF a imagen.
Además de imágenes, esta biblioteca también le permite convertir PDF a Word, PDF a HTML, PDF a XPS, etc.
Puede descargarlo y hacer referencia al archivo DLL manualmente o instalarlo a través de NuGet usando el siguiente comando:
PM> Install-Package Spire.PDF
Clasificación de formatos de imagen
En gráficos por computadora, las imágenes se pueden clasificar en dos categorías principales:
- Imágenes de mapa de bits se componen de una cuadrícula de píxeles individuales, donde a cada píxel se le asigna un color específico. Los formatos de imágenes de mapa de bits comunes incluyen PNG, JPG, BMP, EMF y TIFF.
- gráficos vectoriales, por otro lado, representar imágenes utilizando ecuaciones matemáticas y formas geométricas como líneas, curvas y polígonos. Formatos de gráficos vectoriales comunes Incluye SVG y EPS.
Actualmente, Spire.PDF for .NET admite los formatos PNG/JPG/BMP/EMF/TIFF/SVG . A continuación, te daré los detalles de cada conversión.
Convertir PDF a PNG/JPG/BMP/EMF/TIFF en C#
Pasos
- Cree una instancia de PdfDocument y cargue un archivo PDF desde el disco utilizando el método LoadFromFile().
- Llame al método SaveAsImage(int pageIndex, PdfImageType type, int dpiX, int dpiY) para convertir la página especificada en una imagen.
- Finalmente, guarde las imágenes como archivos JPG usando el método Image.Save (nombre de archivo de cadena, formato ImageFormat). En este caso, tomo PDF a JPG como ejemplo. También puedes cambiar el formato si lo deseas.
Código de muestra
- C#
using Spire.Pdf; using Spire.Pdf.Graphics; using System.Drawing; using System.Drawing.Imaging; namespace PDFtoImage { class Program { static void Main(string[] args) { //Create a PdfDocument instance PdfDocument pdf = new PdfDocument(); //Load a sample PDF file pdf.LoadFromFile("C:\\Users\\Administrator\\Desktop\\Input.pdf"); //Convert the first page to an image and set the image Dpi Image image = pdf.SaveAsImage(0, PdfImageType.Bitmap, 500, 500); //Save images as JPG format to a specified folder image.Save("C:\\Users\\Administrator\\Desktop\\Image\\ToImage.jpg", ImageFormat.Jpeg); //Close the document pdf.Close(); } } }
Convertir PDF a SVG en C#
Pasos
- Cree una instancia de PdfDocument y cargue un archivo PDF desde el disco utilizando el método LoadFromFile().
- Convierta la primera página a SVG usando el método SaveToFile(string filename, int startIndex, int endIndex, FileFormat fileFormat). Puede especificar el índice de página que desea convertir en el parámetro.
Código de muestra
- C#
using Spire.Pdf; namespace PDFtoSVG { class Program { static void Main(string[] args) { //Create a PdfDocument instance PdfDocument pdf = new PdfDocument(); //Load a sample PDF file pdf.LoadFromFile("C:\\Users\\Administrator\\Desktop\\Input.pdf"); //Convert the first page to SVG pdf.SaveToFile("C:\\Users\\Administrator\\Desktop\\Image\\ToImage.svg", 0, 0, FileFormat.SVG); //Close the document pdf.Close(); } } }
Convierta PDF a TIFF de varias páginas en C#
En comparación con otros formatos de imagen, TIFF permite almacenar varias imágenes o páginas en un solo archivo. Esta característica la convierte en una opción popular entre los usuarios en algunos casos.
En esta sección, le mostraré cómo convertir un archivo PDF en un archivo TIFF de varias páginas. Para lograr esta conversión, podemos personalizar los siguientes métodos.- El método SaveAsImage() admite la conversión de cada página PDF en una imagen y luego devuelve una serie de imágenes.
- El método GetEncoderInfo() admite buscar y devolver información del codificador de imágenes coincidente según el tipo MIME dado.
- El método JoinTiffImages() se utiliza para fusionar varias imágenes en un solo archivo TIFF. Funciona recorriendo cada imagen en la matriz de imágenes y guardándola de acuerdo con los parámetros del codificador especificados.
Pasos
- Cree una instancia de PdfDocument y cargue un archivo PDF desde el disco utilizando el método LoadFromFile().
- Llame al método SaveAsImage() para convertir cada página del PDF en una imagen y guardarla en la matriz de imágenes.
- Finalmente, llame al método JoinTiffImages() para fusionar las imágenes TIFF convertidas en un archivo TIFF de varias páginas.
Código de muestra
- C#
using System; using System.Drawing; using System.Drawing.Imaging; using Spire.Pdf; namespace SavePdfAsTiff { class Program { static void Main(string[] args) { // Create a PdfDocument instance PdfDocument pdf = new PdfDocument(); // Load the PDF file pdf.LoadFromFile("C:\\Users\\Administrator\\Desktop\\Input.pdf"); // Convert PDF pages to images and save them as an image array Image[] images = SaveAsImage(pdf); // Merge the converted TIFF images into a multi-page TIFF file JoinTiffImages(images, "C:\\Users\\Administrator\\Desktop\\Image\\ToImage.tiff", EncoderValue.CompressionLZW); } private static Image[] SaveAsImage(PdfDocument pdf) { // Create an image array with the size equal to the number of PDF pages Image[] images = new Image[pdf.Pages.Count]; //Iterate through each page of PDF for (int i = 0; i < pdf.Pages.Count; i++) { //Convert these pages to images images[i] = pdf.SaveAsImage(i); } return images; } private static ImageCodecInfo GetEncoderInfo(string mimeType) { // Get all available image encoders ImageCodecInfo[] encoders = ImageCodecInfo.GetImageEncoders(); for (int j = 0; j < encoders.Length; j++) { // Find the encoder that matches the specified mime type if (encoders[j].MimeType == mimeType) return encoders[j]; } // An exception is thrown if no matching encoder is found throw new Exception(mimeType + " mime type not found in ImageCodecInfo"); } public static void JoinTiffImages(Image[] images, string outFile, EncoderValue compressEncoder) { //Set the parameters of the image encoder Encoder enc = Encoder.SaveFlag; EncoderParameters ep = new EncoderParameters(2); ep.Param[0] = new EncoderParameter(enc, (long)EncoderValue.MultiFrame); ep.Param[1] = new EncoderParameter(Encoder.Compression, (long)compressEncoder); // Initialize the first image as the base for merging Image pages = images[0]; int frame = 0; // Get the encoder information for TIFF format ImageCodecInfo info = GetEncoderInfo("image/tiff"); // Iterate through each image foreach (Image img in images) { if (frame == 0) { // If it's the first frame, set it as the current base image pages = img; // Save the first frame using the specified encoder parameters pages.Save(outFile, info, ep); } else { // For intermediate frames, update the encoder parameter to indicate a new page ep.Param[0] = new EncoderParameter(enc, (long)EncoderValue.FrameDimensionPage); // Save the intermediate frame pages.SaveAdd(img, ep); } if (frame == images.Length - 1) { // If it's the last frame, flush the encoder parameters to close the file ep.Param[0] = new EncoderParameter(enc, (long)EncoderValue.Flush); pages.SaveAdd(ep); } frame++; } } } }
Prueba gratuita de la biblioteca C#
Spire.PDF for .NET proporciona uso gratuito para ayudar a los usuarios a evaluar mejor las características del producto sin restricciones. Puedes obtener un Licencia temporal gratuita de 30 días desde el siguiente enlace para convertir PDF a imagen en C#.
Conclusión
En esta publicación, aprendió cómo convertir PDF a formatos de imagen populares usando C#. Spire.PDF for .NET también puede ayudarle con otras tareas de procesamiento de PDF, como crear PDF, fusionar PDF, comparar PDF, etc. En una palabra, esta biblioteca simplifica el proceso y permite a los desarrolladores centrarse en crear aplicaciones potentes que impliquen tareas de manipulación de PDF.