C#/VB.NET: convierta varias imágenes en un solo PDF

2023-10-20 03:04:47

Instalado a través de NuGet

PM> Install-Package Spire.PDF

enlaces relacionados

Si tiene varias imágenes que desea combinar en un archivo para facilitar su distribución o almacenamiento, convertirlas en un solo documento PDF es una excelente solución. Este proceso no sólo ahorra espacio sino que también garantiza que todas sus imágenes se mantengan juntas en un solo archivo, lo que hace que sea conveniente compartirlas o transferirlas. En este artículo, aprenderá cómo combine varias imágenes en un solo documento PDF en C# y VB.NET usando Spire.PDF for .NET.

Instalar Spire.PDF for .NET

Para empezar, debe agregar los archivos DLL incluidos en el paquete Spire.PDF for .NET como referencias en su proyecto .NET. Los archivos DLL se pueden descargar desde este enlace o instalar a través de NuGet.

PM> Install-Package Spire.PDF

Combine varias imágenes en un solo PDF en C# y VB.NET

Para convertir todas las imágenes de una carpeta a un PDF, recorremos cada imagen, agregamos una nueva página al PDF con el mismo tamaño que la imagen y luego dibujamos la imagen en la nueva página. Los siguientes son los pasos detallados.

  • Cree un objeto PdfDocument.
  • Establezca los márgenes de la página en cero utilizando el método PdfDocument.PageSettings.SetMargins().
  • Obtenga la carpeta donde se almacenan las imágenes.
  • Repita cada archivo de imagen en la carpeta y obtenga el ancho y alto de una imagen específica.
  • Agregue una nueva página que tenga el mismo ancho y alto que la imagen al documento PDF utilizando el método PdfDocument.Pages.Add().
  • Dibuja la imagen en la página usando el método PdfPageBase.Canvas.DrawImage().
  • Guarde el documento utilizando el método PdfDocument.SaveToFile().
  • C#
  • VB.NET
using Spire.Pdf;
    using Spire.Pdf.Graphics;
    using System.Drawing;
    
    namespace ConvertMultipleImagesIntoPdf
    {
        class Program
        {
            static void Main(string[] args)
            {
                //Create a PdfDocument object
                PdfDocument doc = new PdfDocument();
    
                //Set the page margins to 0
                doc.PageSettings.SetMargins(0);
    
                //Get the folder where the images are stored
                DirectoryInfo folder = new DirectoryInfo(@"C:\Users\Administrator\Desktop\Images");
    
                //Iterate through the files in the folder
                foreach (FileInfo file in folder.GetFiles())
                {
                    //Load a particular image
                    Image image = Image.FromFile(file.FullName);
    
                    //Get the image width and height
                    float width = image.PhysicalDimension.Width;
                    float height = image.PhysicalDimension.Height;
    
                    //Add a page that has the same size as the image
                    PdfPageBase page = doc.Pages.Add(new SizeF(width, height));
    
                    //Create a PdfImage object based on the image
                    PdfImage pdfImage = PdfImage.FromImage(image);
    
                    //Draw image at (0, 0) of the page
                    page.Canvas.DrawImage(pdfImage, 0, 0, pdfImage.Width, pdfImage.Height);
                }
    
                //Save to file
                doc.SaveToFile("CombinaImagesToPdf.pdf");
                doc.Dispose();
            }
        }
    }

C#/VB.NET: Convert Multiple Images into a Single PDF

Solicite una licencia temporal

Si desea eliminar el mensaje de evaluación de los documentos generados o deshacerse de las limitaciones de la función, por favor solicitar una licencia de prueba de 30 días para ti.

Ver también