La conversion d’images en PDF est un scénario important et utile pour les applications de traitement de fichiers. Dans cet article, nous apprendrons à convertir des images JPG, PNG, TIFF, EMF, WMF et BMP en conversion PDF à l’aide de C# ou VB.NET. Voici les étapes d’installation et quelques-uns des cas d’utilisation possibles pour la conversion d’images :

API de conversion d’images C# en PDF - Installation

Nous effectuerons la conversion de ces formats d’image en PDF à l’aide de l’API Aspose.PDF for .NET. Vous pouvez soit le télécharger depuis la section Releases, soit via la NuGet Gallery avec la commande suivante :

Install-Package Aspose.Pdf -Version 20.9.0

L’API a donc été installée avec succès à ce jour. Passons à l’exploration de différents cas d’utilisation :

Convertir JPG en PDF avec C#

Vous pouvez facilement convertir une image JPG en PDF en procédant comme suit :

  1. Initialiser l’objet de la classe Document
  2. Ajouter une nouvelle page au document PDF
  3. Charger l’image JPG et l’ajouter au paragraphe
  4. Enregistrer le PDF de sortie

L’extrait de code ci-dessous montre comment convertir une image JPG en PDF à l’aide de C# :

// Charger le fichier JPG d'entrée
String path = dataDir + "Aspose.jpg";

// Initialiser le nouveau document PDF
Document doc = new Document();

// Ajouter une page vide dans un document vide
Page page = doc.Pages.Add();
Aspose.Pdf.Image image = new Aspose.Pdf.Image();
image.File = (path);

// Ajouter une image sur une page
page.Paragraphs.Add(image);

// Enregistrer le fichier PDF de sortie
doc.Save(dataDir + "ImagetoPDF.pdf");

Ci-dessous, la capture d’écran de la conversion JPG en PDF :

Image en PDF

Cependant, dans cette capture d’écran, vous pouvez remarquer que l’image est convertie en page PDF, mais que les dimensions et les marges de page par défaut sont appliquées dans le document PDF de sortie. L’API Aspose.PDF for .NET vous permet de contrôler les dimensions et la marge de la page qui vous aident à créer exactement la même taille de PDF que les dimensions de l’image. Passons à l’exploration de cette fonctionnalité :

Convertir une image en PDF avec la même hauteur et largeur de page

Poursuivre cet exemple à partir du cas d’utilisation ci-dessus, car vous pouvez remarquer une taille de page plus grande dans la capture d’écran ci-dessus. Apprenons à convertir une image en PDF avec la même hauteur et la même largeur de page. Nous obtiendrons les dimensions de l’image et définirons en conséquence les dimensions de la page du document PDF en suivant les étapes ci-dessous :

  1. Charger le fichier image d’entrée
  2. Obtenir la hauteur et la largeur de l’image
  3. Définir la hauteur, la largeur et les marges d’une page
  4. Enregistrez le fichier PDF de sortie

L’extrait de code suivant montre comment convertir une image en PDF avec la même hauteur et largeur de page à l’aide de C# :

// Charger le fichier image JPG d'entrée
String path = dataDir + "Aspose.jpg";
System.Drawing.Image srcImage = System.Drawing.Image.FromFile(path);

// Lire la hauteur de l'image d'entrée
int h = srcImage.Height;

// Lire la hauteur de l'image d'entrée
int w = srcImage.Width;

// Initialiser un nouveau document PDF
Document doc = new Document();

// Ajouter une page vide
Page page = doc.Pages.Add();
Aspose.Pdf.Image image = new Aspose.Pdf.Image();
image.File = (path);

// Définir les dimensions et les marges de la page
page.PageInfo.Height = (h);
page.PageInfo.Width = (w);
page.PageInfo.Margin.Bottom = (0);
page.PageInfo.Margin.Top = (0);
page.PageInfo.Margin.Right = (0);
page.PageInfo.Margin.Left = (0);
page.Paragraphs.Add(image);

// Enregistrer le fichier PDF de sortie
doc.Save(dataDir + "ImagetoPDF_HeightWidth.pdf");

Ainsi, vous pouvez remarquer la différence des dimensions de page qui ont été créées avec l’extrait de code mis à jour :

Enfin, vous pouvez remarquer que la taille de la page est exactement similaire en fonction des dimensions de l’image d’entrée, et qu’il n’y a plus de marges de page par défaut définies maintenant.

Convertir PNG en PDF en utilisant C#

Le format d’image PNG est populaire en raison de ses fonctionnalités par rapport aux images JPG. Par exemple, les images PNG prennent en charge la transparence. Tout d’abord, convertissons PNG en PDF avec les étapes ci-dessous :

  1. Charger l’image PNG d’entrée
  2. Lire les valeurs de hauteur et de largeur
  3. Créer un nouveau document et ajouter une page
  4. Définir les dimensions de la page
  5. Enregistrer le fichier de sortie

De plus, l’extrait de code ci-dessous montre comment convertir PNG en PDF avec C# dans vos applications .NET :

// Charger le fichier PNG d'entrée
String path = dataDir + "Aspose.png";
System.Drawing.Image srcImage = System.Drawing.Image.FromFile(path);
int h = srcImage.Height;
int w = srcImage.Width;

// Initialiser le nouveau document
Document doc = new Document();
Page page = doc.Pages.Add();
Aspose.Pdf.Image image = new Aspose.Pdf.Image();
image.File = (path);

// Définir les dimensions de la page
page.PageInfo.Height = (h);
page.PageInfo.Width = (w);
page.PageInfo.Margin.Bottom = (0);
page.PageInfo.Margin.Top = (0);
page.PageInfo.Margin.Right = (0);
page.PageInfo.Margin.Left = (0);
page.Paragraphs.Add(image);

// Enregistrer le PDF de sortie
doc.Save(dataDir + "ImagetoPDF.pdf");

Convertir TIFF en PDF en utilisant C#

Une image TIFF est différente des formats JPEG, PNG ou autres formats conventionnels en ce sens qu’une image TIFF peut contenir plusieurs cadres avec des images différentes. Le format de fichier Aspose.PDF est également pris en charge, qu’il s’agisse d’une image TIFF à image unique ou à images multiples. Ainsi, vous pouvez convertir l’image TIFF en PDF dans vos applications .NET. Par conséquent, nous allons considérer un exemple de conversion d’une image TIFF multipage en document PDF multipage avec les étapes ci-dessous :

  1. Instancier une instance de la classe Document
  2. Charger l’image TIFF d’entrée
  3. Obtenir FrameDimension des cadres
  4. Ajouter une nouvelle page pour chaque cadre
  5. Enfin, enregistrez les images sur des pages PDF

De plus, l’extrait de code suivant montre comment convertir une image TIFF multipage ou multicadre en PDF avec C# :

// Initialiser le nouveau document
Document pdf = new Document();

//Charger l'image TIFF dans le flux
MemoryStream ms = new MemoryStream();
new FileStream(dataDir + @"Aspose.tiff", FileMode.Open).CopyTo(ms);
Bitmap myimage = new Bitmap(ms);
// Convertir plusieurs pages ou plusieurs images TIFF en PDF
FrameDimension dimension = new FrameDimension(myimage.FrameDimensionsList[0]);
int frameCount = myimage.GetFrameCount(dimension);

// Itérer à travers chaque image
for (int frameIdx = 0; frameIdx <= frameCount - 1; frameIdx++)
{
    Page sec = pdf.Pages.Add();

    myimage.SelectActiveFrame(dimension, frameIdx);

    MemoryStream currentImage = new MemoryStream();
    myimage.Save(currentImage, ImageFormat.Tiff);

    Aspose.Pdf.Image imageht = new Aspose.Pdf.Image();
    imageht.ImageStream = currentImage;
    sec.Paragraphs.Add(imageht);
}

// Enregistrer le fichier PDF de sortie
pdf.Save(dataDir + "TifftoPDF.pdf");

Convertir une image EMF en PDF à l’aide de C#

Les images EMF, également connues sous le nom de format de métafichier amélioré, sont en fait des images indépendantes du périphérique. De plus, vous pouvez convertir une image EMF en PDF en suivant les étapes ci-dessous :

  1. Tout d’abord, initialisez l’objet de classe Document
  2. Charger le fichier image EMF
  3. Ajouter l’image EMF chargée à une page
  4. Enregistrer le document PDF

De plus, l’extrait de code suivant montre comment convertir un fichier EMF en PDF avec C# dans votre extrait de code .NET :

// Initialiser le nouveau document PDF
var doc = new Document();

// Spécifiez le chemin du fichier image EMF d'entrée
var imageFile = dataDir + "drawing.emf";
var page = doc.Pages.Add(); 
string file = imageFile;
FileStream filestream = new FileStream(file, FileMode.Open, FileAccess.Read);
BinaryReader reader = new BinaryReader(filestream);
long numBytes = new FileInfo(file).Length;
byte[] bytearray = reader.ReadBytes((int)numBytes);
Stream stream = new MemoryStream(bytearray);
var b = new Bitmap(stream);

// Spécifier les propriétés de dimension de la page
page.PageInfo.Margin.Bottom = 0;
page.PageInfo.Margin.Top = 0;
page.PageInfo.Margin.Left = 0;
page.PageInfo.Margin.Right = 0;
page.PageInfo.Width = b.Width;
page.PageInfo.Height = b.Height;
var image = new Aspose.Pdf.Image();
image.File = imageFile;
page.Paragraphs.Add(image);

//Enregistrer le document PDF de sortie
doc.Save(dataDir + "EMFtoPDF.pdf");

Convertir BMP en PDF avec C#

Les images BMP sont des images Bitmap que vous pouvez convertir en PDF avec Aspose.PDF for .NET. Par conséquent, vous pouvez suivre les étapes suivantes pour convertir les images BMP :

  1. Initialiser un nouveau document
  2. Charger l’image BMP d’entrée
  3. Enfin, enregistrez le fichier PDF de sortie

Ainsi, l’extrait de code suivant suit ces étapes et montre comment convertir BMP en PDF à l’aide de C# :

Initialize empty PDF document
using (Document pdfDocument = new Document())
{
    pdfDocument.Pages.Add();
    Aspose.Pdf.Image image = new Aspose.Pdf.Image();

    // Charger un exemple de fichier image BMP
    image.File = dataDir + @"Sample.bmp";
    pdfDocument.Pages[1].Paragraphs.Add(image);

    // Enregistrer le document PDF de sortie
    pdfDocument.Save(dataDir + @"BMPtoPDF.pdf");
}

Conclusion

Après tout, nous avons exploré la conversion d’images en PDF sous différents aspects à l’aide de C#. Différentes conversions, y compris la conversion JPG, PNG, TIFF, EMF et BMP en PDF, ont été discutées en détail. De plus, nous avons appris à améliorer le rendu de l’image au format PDF tout en définissant la taille de la page et les marges. De plus, si vous avez encore des questions ou des questions, veuillez nous contacter sur Forum d’assistance gratuit.

Voir également