Passer au contenu du pied de page
UTILISATION DE IRONPDF

Comment convertir une image en PDF en C# [Exemple de Code Tutoriel]

IronPDF fournit une solution simple et gratuite pour convertir des images en PDF en C# grâce à sa méthode ImageToPdf, permettant aux développeurs de convertir une ou plusieurs images en quelques lignes de code avec des paramètres de page personnalisables.

De nombreuses bibliothèques permettent aux développeurs C# de convertir des images en PDF. Trouver une bibliothèque gratuite, conviviale et performante peut être un défi, car certaines sont payantes, complexes ou limitées en fonctionnalités. Parmi ces bibliothèques, IronPDF se distingue comme une bibliothèque C# gratuite, efficace et facile à mettre en œuvre. Il est livré avec une documentation complète et un support dédié.

IronPDF est une bibliothèque .NET pour générer, lire, éditer et enregistrer des fichiers PDF dans des projets .NET. IronPDF offre une fonctionnalité de conversion HTML en PDF for .NET 5, Core, Standard & Framework avec un support complet de la conversion HTML en PDF, incluant CSS3 et JS. La bibliothèque exploite un moteur de rendu Chrome pour garantir une génération de PDF pixel par pixel à partir de diverses sources.

Voyons comment créer un projet d'exemple pour apprendre à convertir des images en PDF. Ce tutoriel vous guidera à travers le processus d'installation, la conversion d'image de base et les fonctionnalités avancées pour gérer plusieurs images et différents formats.

Comment créer un projet Visual Studio ?

Pour créer un nouveau projet, ouvrez Microsoft Visual Studio. Il est recommandé d'utiliser la dernière version de Visual Studio. Les étapes de création d'un nouveau projet peuvent différer entre les versions, mais le reste devrait être le même pour chaque version.

  1. Cliquez sur Créer un Nouveau Projet.
  2. Sélectionnez Modèle de Projet, puis sélectionnez le modèle de l'application console pour cette démonstration. Vous pouvez utiliser n'importe quel modèle en fonction de vos besoins, y compris les applications ASP.NET Core ou Blazor.
  3. Cliquez sur Suivant. Nommer le projet (par exemple, "ImageToPDFConverter").
  4. Cliquez sur Suivant et sélectionnez la version du .NET Framework.
  5. Cliquez sur le bouton Créer.

Le nouveau projet sera créé comme illustré ci-dessous. La structure du projet inclura un fichier Program.cs où nous écrirons notre code de conversion d'image.

Écran de création de projet de nouvelle application console Visual Studio montrant la sélection de modèle et les options de configuration Créer une nouvelle Application Console dans Visual Studio

Quelle version du .NET Framework dois-je choisir ?

IronPDF prend en charge un large éventail de versions .NET, y compris .NET Framework 4.6.2+, .NET Core 3.1+, et .NET 5/6/7/8+. Pour les nouveaux projets, il est recommandé d'utiliser la dernière version LTS (Long Term Support) de .NET pour des performances optimales et des mises à jour de sécurité. La bibliothèque fonctionne également parfaitement sur les plateformes Windows, Linux et macOS.

Ensuite, installez le Package NuGet IronPDF dans ce projet pour utiliser ses fonctionnalités. L'avantage d'IronPDF est qu'il élimine la frustration de générer des documents PDF sans s'appuyer sur des API propriétaires. La conversion HTML en PDF produit des PDF pixel par pixel à partir de types de documents standards ouverts : HTML, JS, CSS, JPG, PNG, GIF et SVG. En bref, il utilise les compétences que les développeurs possèdent déjà.

Comment installer le package NuGet IronPDF ?

Pour installer le Package NuGet, allez à Outils > Gestionnaire de Package NuGet > Console du Gestionnaire de Package. La fenêtre suivante apparaîtra :

Interface de la console du gestionnaire de packages dans Visual Studio montrant l'interface de ligne de commande pour la gestion des packages NuGet Interface utilisateur de la console du gestionnaire de package

Ensuite, écrivez la commande suivante dans la Console du Gestionnaire de Package:

Install-Package IronPdf

Appuyez sur Entrée. Le processus d'installation téléchargera IronPDF et ses dépendances, y compris les composants nécessaires du moteur de rendu Chrome.

Console du gestionnaire de packages montrant l'installation réussie du package IronPDF avec les informations de version et les dépendances Installer le package IronPDF dans la Console du gestionnaire de packages

Quelles sont les autres méthodes d'installation ?

Vous pouvez également installer IronPDF via :

  • Interface du gestionnaire de packages NuGet : Faites un clic droit sur votre projet, sélectionnez "Gérer les packages NuGet", recherchez "IronPdf" et cliquez sur Installer
  • Référence de package : Ajoutez <PackageReference Include="IronPdf" Version="*" /> à votre fichier .csproj
  • Téléchargement direct : Téléchargez le DLL depuis le site IronPDF et référencez-le manuellement
  • Ligne de commande : Utilisez dotnet add package IronPdf dans le terminal

Pour les déploiements Azure, vous pourriez avoir besoin d'une configuration supplémentaire. De même, les environnements Docker nécessitent des étapes de configuration spécifiques.

Comment convertir un fichier image en document PDF ?

La prochaine étape montrera comment convertir l'image suivante en PDF. IronPDF simplifie ce processus avec sa fonctionnalité ImageToPdf.

Quels sont les formats d'image pris en charge ?

IronPDF prend en charge une grande variété de formats d'image pour la conversion en PDF :

  • JPEG/JPG : Le format le plus courant pour les photographies
  • PNG : Idéal pour les images avec transparence
  • GIF : Y compris les GIF animés (première image utilisée)
  • BMP : Format bitmap Windows
  • TIFF : Y compris les fichiers TIFF multi-pages
  • SVG : Graphiques vectoriels évolutifs
  • WebP : Format d'image moderne web

Image d'exemple d'oiseau montrant un oiseau coloré perché sur une branche, démontrant la qualité de l'image pour la conversion en PDF L'image d'exemple

Pour utiliser la bibliothèque, référencez la bibliothèque IronPDF dans le fichier program.cs. Écrivez le bout de code suivant en haut du fichier :

using IronPdf;
using IronPdf.Imaging;
using System.Linq;
using IronPdf;
using IronPdf.Imaging;
using System.Linq;
$vbLabelText   $csharpLabel

Ensuite, écrivez le code suivant dans la fonction principale. Cela convertira un fichier JPG en un fichier PDF :

public static void Main(string[] args)
{
    // Convert a single image to the PDF document
    PdfDocument doc = ImageToPdfConverter.ImageToPdf(@"D:\Iron Software\ImageToPDF\bird.jpg", IronPdf.Imaging.ImageBehavior.CropPage);

    // Optional: Set document properties
    doc.MetaData.Author = "IronPDF Tutorial";
    doc.MetaData.Title = "Image to PDF Conversion";
    doc.MetaData.Subject = "Converting JPG to PDF";

    // Save the resulting PDF to the specified path
    doc.SaveAs(@"D:\Iron Software\ImageToPDF\bird.pdf");

    Console.WriteLine("PDF created successfully!");
}
public static void Main(string[] args)
{
    // Convert a single image to the PDF document
    PdfDocument doc = ImageToPdfConverter.ImageToPdf(@"D:\Iron Software\ImageToPDF\bird.jpg", IronPdf.Imaging.ImageBehavior.CropPage);

    // Optional: Set document properties
    doc.MetaData.Author = "IronPDF Tutorial";
    doc.MetaData.Title = "Image to PDF Conversion";
    doc.MetaData.Subject = "Converting JPG to PDF";

    // Save the resulting PDF to the specified path
    doc.SaveAs(@"D:\Iron Software\ImageToPDF\bird.pdf");

    Console.WriteLine("PDF created successfully!");
}
$vbLabelText   $csharpLabel

Comment ImageBehavior affecte-t-il le résultat ?

Dans l'exemple de code ci-dessus, la classe ImageToPdfConverter fournie par IronPDF est utilisée pour la conversion d'image. La méthode ImageToPdf peut être utilisée pour créer des documents PDF à partir d'images. Elle accepte à la fois des fichiers image et un objet System.Drawing comme entrée.

La méthode statique ImageToPdf convertit un fichier image unique en un document PDF identique aux dimensions correspondantes. Elle prend deux arguments : le Chemin de l'Image et le Comportement de l'Image (la façon dont l'image s'affichera sur le papier). L'énumération ImageBehavior offre plusieurs options :

  • CropPage : Définit la taille de la page PDF pour correspondre aux dimensions de l'image
  • CenteredOnPage : Centre l'image sur la page sans la redimensionner
  • FitToPage : Met l'image à l'échelle pour s'adapter aux marges de la page
  • FitToPageAndMaintainAspectRatio : Met à l'échelle tout en préservant le rapport d'aspect

Imaging.ImageBehavior.CropPage définira la taille du papier égale à la taille de l'image. La taille de page par défaut est A4. Vous pouvez la définir via la ligne de code suivante :

ImageToPdfConverter.PaperSize = IronPdf.Rendering.PdfPaperSize.Letter;
ImageToPdfConverter.PaperSize = IronPdf.Rendering.PdfPaperSize.Letter;
$vbLabelText   $csharpLabel

Vous pouvez également définir des tailles de page personnalisées pour des besoins spécifiques :

// Set custom page size in millimeters
ImageToPdfConverter.PaperSize = new IronPdf.Rendering.PdfPaperSize(210, 297);
// Set custom page size in millimeters
ImageToPdfConverter.PaperSize = new IronPdf.Rendering.PdfPaperSize(210, 297);
$vbLabelText   $csharpLabel

Quelles sont les options de taille de papier disponibles ?

Il existe plusieurs options de taille de page fournies, et vous pouvez les définir selon vos besoins. IronPDF prend en charge toutes les tailles de papier standard :

  • Série A : A0, A1, A2, A3, A4 (par défaut), A5, A6, A7, A8, A9, A10
  • Série B : B0 à B10
  • Tailles US : Lettre, Legal, Ledger, Tabloid, Executive
  • Autres : Foolscap, Crown, Demy, Royal, et plus

Vous pouvez également configurer l'orientation de la page (Portrait ou Paysage) et les marges personnalisées pour vos PDFs.

Comment convertir plusieurs images en un fichier PDF ?

L'exemple suivant convertira des images JPG en un nouveau document. C'est particulièrement utile pour créer des albums photo, des catalogues ou combiner des documents numérisés :

public static void Main(string[] args)
{
    // Enumerate and filter JPG files from the specified directory
    var imageFiles = System.IO.Directory.EnumerateFiles(@"D:\Iron Software\ImageToPDF\")
                                        .Where(f => f.EndsWith(".jpg") || f.EndsWith(".jpeg"));

    // Sort files alphabetically (optional)
    var sortedImageFiles = imageFiles.OrderBy(f => f);

    // Convert the images to a PDF document
    PdfDocument doc = ImageToPdfConverter.ImageToPdf(sortedImageFiles);

    // Add page numbers to each page
    for (int i = 0; i < doc.PageCount; i++)
    {
        doc.AddTextFooter($"Page {i + 1} of {doc.PageCount}", 
                         FontFamily.Arial, 
                         fontSize: 10,
                         y: 25);
    }

    // Save the combined PDF
    doc.SaveAs(@"D:\Iron Software\ImageToPDF\JpgToPDF.pdf");

    Console.WriteLine($"Combined {doc.PageCount} images into a single PDF!");
}
public static void Main(string[] args)
{
    // Enumerate and filter JPG files from the specified directory
    var imageFiles = System.IO.Directory.EnumerateFiles(@"D:\Iron Software\ImageToPDF\")
                                        .Where(f => f.EndsWith(".jpg") || f.EndsWith(".jpeg"));

    // Sort files alphabetically (optional)
    var sortedImageFiles = imageFiles.OrderBy(f => f);

    // Convert the images to a PDF document
    PdfDocument doc = ImageToPdfConverter.ImageToPdf(sortedImageFiles);

    // Add page numbers to each page
    for (int i = 0; i < doc.PageCount; i++)
    {
        doc.AddTextFooter($"Page {i + 1} of {doc.PageCount}", 
                         FontFamily.Arial, 
                         fontSize: 10,
                         y: 25);
    }

    // Save the combined PDF
    doc.SaveAs(@"D:\Iron Software\ImageToPDF\JpgToPDF.pdf");

    Console.WriteLine($"Combined {doc.PageCount} images into a single PDF!");
}
$vbLabelText   $csharpLabel

Comment puis-je filtrer différents formats d'image ?

Dans le code ci-dessus, System.IO.Directory.EnumerateFiles récupère tous les fichiers disponibles dans le dossier spécifié. La clause Where filtre toutes les images JPG de ce dossier et les stocke dans la collection imageFiles. Si vous avez des images PNG ou d'autres formats d'image, vous pouvez simplement les ajouter à la requête Where :

// Filter multiple image formats
var imageFiles = System.IO.Directory.EnumerateFiles(@"D:\Iron Software\ImageToPDF\")
    .Where(f => f.EndsWith(".jpg", StringComparison.OrdinalIgnoreCase) || 
                f.EndsWith(".jpeg", StringComparison.OrdinalIgnoreCase) ||
                f.EndsWith(".png", StringComparison.OrdinalIgnoreCase) ||
                f.EndsWith(".bmp", StringComparison.OrdinalIgnoreCase) ||
                f.EndsWith(".gif", StringComparison.OrdinalIgnoreCase) ||
                f.EndsWith(".tiff", StringComparison.OrdinalIgnoreCase));
// Filter multiple image formats
var imageFiles = System.IO.Directory.EnumerateFiles(@"D:\Iron Software\ImageToPDF\")
    .Where(f => f.EndsWith(".jpg", StringComparison.OrdinalIgnoreCase) || 
                f.EndsWith(".jpeg", StringComparison.OrdinalIgnoreCase) ||
                f.EndsWith(".png", StringComparison.OrdinalIgnoreCase) ||
                f.EndsWith(".bmp", StringComparison.OrdinalIgnoreCase) ||
                f.EndsWith(".gif", StringComparison.OrdinalIgnoreCase) ||
                f.EndsWith(".tiff", StringComparison.OrdinalIgnoreCase));
$vbLabelText   $csharpLabel

Vous pouvez également utiliser une approche plus concise avec un tableau d'extensions :

string[] imageExtensions = { ".jpg", ".jpeg", ".png", ".bmp", ".gif", ".tiff" };
var imageFiles = System.IO.Directory.EnumerateFiles(@"D:\Iron Software\ImageToPDF\")
    .Where(f => imageExtensions.Any(ext => f.EndsWith(ext, StringComparison.OrdinalIgnoreCase)));
string[] imageExtensions = { ".jpg", ".jpeg", ".png", ".bmp", ".gif", ".tiff" };
var imageFiles = System.IO.Directory.EnumerateFiles(@"D:\Iron Software\ImageToPDF\")
    .Where(f => imageExtensions.Any(ext => f.EndsWith(ext, StringComparison.OrdinalIgnoreCase)));
$vbLabelText   $csharpLabel

Dans quel ordre les images apparaîtront-elles dans le PDF ?

Par défaut, les images apparaissent dans l'ordre renvoyé par le système de fichiers, qui peut ne pas être alphabétique. Pour contrôler l'ordre, vous pouvez trier les fichiers :

  • Alphabétique : imageFiles.OrderBy(f => f)
  • Par date de création : imageFiles.OrderBy(f => new FileInfo(f).CreationTime)
  • Par taille de fichier : imageFiles.OrderBy(f => new FileInfo(f).Length)
  • Ordre personnalisé : Utilisez une fonction de comparaison personnalisée

La ligne suivante prendra toutes les images et les combinera en un seul document PDF. Chaque image devient une page séparée dans le PDF.

Comment imprimer un fichier PDF ?

Le code suivant imprimera le document en utilisant les capacités d'impression d'IronPDF :

// Print using default printer
doc.Print();

// Print silently (without print dialog)
doc.Print(showPreview: false);

// Print to a specific printer
var printerName = "Microsoft Print to PDF";
doc.Print(printerName);
// Print using default printer
doc.Print();

// Print silently (without print dialog)
doc.Print(showPreview: false);

// Print to a specific printer
var printerName = "Microsoft Print to PDF";
doc.Print(printerName);
$vbLabelText   $csharpLabel

Puis-je spécifier les paramètres de l'imprimante ?

La méthode Print fournie par la classe PdfDocument imprimera le document en utilisant l'imprimante par défaut. Elle offre également une option pour changer le nom de l'imprimante et d'autres paramètres. Pour des options d'impression avancées :

// Advanced printing with settings
using System.Drawing.Printing;

var printDocument = doc.GetPrintDocument();
printDocument.PrinterSettings.PrinterName = "Your Printer Name";
printDocument.PrinterSettings.Copies = 2;
printDocument.PrinterSettings.Collate = true;
printDocument.PrinterSettings.PrintRange = PrintRange.SomePages;
printDocument.PrinterSettings.FromPage = 1;
printDocument.PrinterSettings.ToPage = 3;

printDocument.Print();
// Advanced printing with settings
using System.Drawing.Printing;

var printDocument = doc.GetPrintDocument();
printDocument.PrinterSettings.PrinterName = "Your Printer Name";
printDocument.PrinterSettings.Copies = 2;
printDocument.PrinterSettings.Collate = true;
printDocument.PrinterSettings.PrintRange = PrintRange.SomePages;
printDocument.PrinterSettings.FromPage = 1;
printDocument.PrinterSettings.ToPage = 3;

printDocument.Print();
$vbLabelText   $csharpLabel

Pour plus de détails sur l'impression de documents, veuillez visiter cet exemple d'impression PDF. Vous pouvez également explorer les options d'impression en réseau pour les environnements d'entreprise.

Quels sont les principaux points à retenir ?

Ce tutoriel a montré une méthode très simple pour convertir des images en un fichier PDF avec des exemples de code, soit en convertissant une seule image en PDF, soit en combinant plusieurs images en un seul fichier PDF. De plus, il a également expliqué comment imprimer des documents avec une seule ligne de code.

Points clés abordés :

  • Installation d'IronPDF via le gestionnaire de packages NuGet
  • Conversion d'images simples en PDF avec un comportement personnalisé
  • Conversion par lot de plusieurs images en un seul PDF
  • Contrôle de la taille des pages, de l'orientation et des marges
  • Ajout de métadonnées et de numéros de page aux PDFs
  • Impression de PDFs par programmation avec des options

De plus, certaines fonctionnalités importantes d'IronPDF incluent :

Où puis-je en savoir plus sur IronPDF ?

Il y a de nombreuses fonctionnalités utiles fournies par IronPDF. Explorez ces ressources :

Pour des cas d'utilisation spécifiques, explorez :

Combien coûte IronPDF ?

IronPDF fait partie de la suite Iron Software. Le Iron Suite comprend d'autres produits utiles tels que IronXL pour les opérations Excel, IronBarcode pour la génération de codes-barres, IronOCR pour la reconnaissance de texte, et IronWebscraper pour l'extraction de données web. Vous pouvez économiser jusqu'à 250% en achetant la suite complète Iron, car vous pouvez actuellement obtenir les cinq produits pour le prix de seulement deux. Veuillez visiter la page des détails de licensing pour plus d'informations.

IronPDF offre :

  • Licence de développement gratuite pour les tests
  • Licences professionnelles à partir de 749 $
  • Options de redistribution libre de droits
  • Licensing SaaS et OEM disponibles
  • Garantie de remboursement de 30 jours
  • Support gratuit et mises à jour pour un an

Essayez IronPDF gratuitement pendant 30 jours avec une licence d'essai, ou explorez les options de licensing pour votre équipe.

Questions Fréquemment Posées

Comment puis-je convertir une image en PDF en C# ?

Vous pouvez convertir une image en PDF en C# en utilisant la méthode ImageToPdf d'IronPDF. Cette méthode vous permet de spécifier le chemin de l'image et les paramètres de sortie PDF souhaités.

Est-il possible de convertir plusieurs images en un seul fichier PDF ?

Oui, IronPDF vous permet de convertir plusieurs images en un seul fichier PDF en utilisant la méthode ImageToPdf, où vous fournissez une collection de fichiers d'images.

Quels formats d'image sont compatibles avec la conversion en PDF ?

IronPDF prend en charge la conversion de divers formats d'images tels que JPG, PNG, GIF et SVG en documents PDF.

Comment définir la taille de la page lors de la conversion d'une image en PDF ?

Pour définir la taille de la page lors de la conversion, utilisez la propriété PaperSize dans la classe ImageToPdfConverter pour sélectionner une taille standard comme Lettre ou A4.

Est-il possible d'imprimer un document PDF créé avec IronPDF ?

Oui, IronPDF inclut une méthode Print dans la classe PdfDocument qui vous permet d'imprimer des documents PDF en utilisant des paramètres d'imprimante par défaut ou spécifiés.

Quelles fonctionnalités supplémentaires offre IronPDF ?

IronPDF offre des fonctionnalités supplémentaires telles que la génération de PDFs à partir d'URLs, le cryptage et le décryptage de PDFs, la fusion de fichiers PDF, et la création et l'édition de formulaires PDF.

Comment installer IronPDF dans un projet Visual Studio ?

Pour installer IronPDF dans un projet Visual Studio, ouvrez la console du Package Manager et exécutez la commande Install-Package IronPDF.

Quels sont les avantages d'utiliser IronPDF pour la génération de PDF?

IronPDF offre une API simple, efficace et bien documentée pour la génération de PDFs sans dépendre d'APIs propriétaires. Il fournit également un support professionnel et gère efficacement diverses tâches PDF.

IronPDF est-il compatible avec .NET 10, et comment puis-je l'utiliser pour la conversion d'images en PDF dans un projet .NET 10 ?

Oui, IronPDF est entièrement compatible avec .NET 10 et prend en charge nativement la conversion d'images en PDF dans les projets .NET 10. Pour l'utiliser, installez le package NuGet IronPDF dans votre projet .NET 10, puis appelez des méthodes telles que ImageToPdfConverter.ImageToPdf("path/to/image.png") pour convertir une seule image, ou transmettez un `IEnumerable` de chemins d'images pour en convertir plusieurs. Vous pouvez également spécifier des options telles que ImageBehavior ou des options de rendu via ChromePdfRenderOptions pour personnaliser le rendu. Son fonctionnement est identique à celui des versions précédentes de .NET.

Curtis Chau
Rédacteur technique

Curtis Chau détient un baccalauréat en informatique (Université de Carleton) et se spécialise dans le développement front-end avec expertise en Node.js, TypeScript, JavaScript et React. Passionné par la création d'interfaces utilisateur intuitives et esthétiquement plaisantes, Curtis aime travailler avec des frameworks modernes ...

Lire la suite

Iron Support Team

We're online 24 hours, 5 days a week.
Chat
Email
Call Me