C#/VB.NET : convertir plusieurs images en un seul PDF

2023-10-20 03:02:30

Installé via NuGet

PM> Install-Package Spire.PDF

Si vous souhaitez combiner plusieurs images en un seul fichier pour une distribution ou un stockage plus facile, les convertir en un seul document PDF est une excellente solution. Ce processus permet non seulement d'économiser de l'espace, mais garantit également que toutes vos images sont conservées ensemble dans un seul fichier, ce qui facilite le partage ou le transfert. Dans cet article, vous apprendrez comment combinez plusieurs images en un seul document PDF en C# et VB.NET à l'aide de Spire.PDF for .NET.

Installer Spire.PDF for .NET

Pour commencer, vous devez ajouter les fichiers DLL inclus dans le package Spire.PDF for.NET comme références dans votre projet .NET. Les fichiers DLL peuvent être téléchargés à partir de ce lien ou installés via NuGet.

PM> Install-Package Spire.PDF

Combinez plusieurs images en un seul PDF en C# et VB.NET

Afin de convertir toutes les images d'un dossier en PDF, nous parcourons chaque image, ajoutons une nouvelle page au PDF avec la même taille que l'image, puis dessinons l'image sur la nouvelle page. Voici les étapes détaillées.

  • Créez un objet PdfDocument.
  • Définissez les marges de la page sur zéro à l’aide de la méthode PdfDocument.PageSettings.SetMargins().
  • Obtenez le dossier dans lequel les images sont stockées.
  • Parcourez chaque fichier image du dossier et obtenez la largeur et la hauteur d’une image spécifique.
  • Ajoutez une nouvelle page ayant la même largeur et hauteur que l'image au document PDF à l'aide de la méthode PdfDocument.Pages.Add().
  • Dessinez l'image sur la page à l'aide de la méthode PdfPageBase.Canvas.DrawImage().
  • Enregistrez le document à l'aide de la méthode 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

Demander une licence temporaire

Si vous souhaitez supprimer le message d'évaluation des documents générés ou vous débarrasser des limitations fonctionnelles, veuillez demander une licence d'essai de 30 jours pour toi.

Voir également