C#/VB.NET: Converta várias imagens em um único PDF

2023-07-17 01:42:21

Instalado via NuGet

PM> Install-Package Spire.PDF

Links Relacionados

Se você tiver várias imagens que deseja combinar em um arquivo para facilitar a distribuição ou armazenamento, convertê-las em um único documento PDF é uma ótima solução. Esse processo não apenas economiza espaço, mas também garante que todas as suas imagens sejam mantidas juntas em um arquivo, facilitando o compartilhamento ou a transferência. Neste artigo, você aprenderá como combine várias imagens em um único documento PDF em C# e VB.NET usando Spire.PDF for .NET.

Instalar Spire.PDF for .NET

Para começar, você precisa adicionar os arquivos DLL incluídos no pacote Spire.PDF for.NET como referências em seu projeto .NET. Os arquivos DLL podem ser baixados de esse link ou instalado via NuGet.

PM> Install-Package Spire.PDF

Combine várias imagens em um único PDF em C# e VB.NET

Para converter todas as imagens em uma pasta em um PDF, iteramos cada imagem, adicionamos uma nova página ao PDF com o mesmo tamanho da imagem e, em seguida, desenhamos a imagem na nova página. A seguir estão as etapas detalhadas.

  • Crie um objeto PdfDocument.
  • Defina as margens da página como zero usando o método PdfDocument.PageSettings.SetMargins().
  • Obtenha a pasta onde as imagens estão armazenadas.
  • Percorra cada arquivo de imagem na pasta e obtenha a largura e a altura de uma imagem específica.
  • Adicione uma nova página com a mesma largura e altura da imagem ao documento PDF usando o método PdfDocument.Pages.Add().
  • Desenhe a imagem na página usando o método PdfPageBase.Canvas.DrawImage().
  • Salve o documento usando o 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

Solicitar uma licença temporária

Se você deseja remover a mensagem de avaliação dos documentos gerados ou se livrar das limitações de função, por favor solicite uma licença de teste de 30 dias para você mesmo.

Veja também