Liam Anderson
Posted on August 18, 2023
Avoir des images au format de document portable (PDF) peut être utile pour partager des photos numériquement, combiner des images et du texte en un seul fichier, archiver des images, et bien plus encore. Dans cet article, nous allons voir comment ajouter ou convertir des images en PDF avec C# et VB.NET.
Installer la bibliothèque requise
Il existe de nombreuses bibliothèques .NET qui vous permettent de convertir ou d'ajouter des images à des fichiers PDF de manière programmée. L'une des bibliothèques couramment utilisées est Free Spire.PDF for .NET.
Avant de commencer, vous devrez importer le fichier DLL de la bibliothèque dans votre application en tant que référence. Vous pouvez le faire en installant la bibliothèque via NuGet en suivant ces étapes :
- Ouvrez la Package Manager Console
- Exécutez cette commande : Install-Package FreeSpire.PDF
Ajouter une image à un PDF avec C# et VB.NET
Lorsque vous ajoutez des images à des documents PDF, vous avez un contrôle précis sur le placement et l'échelle des images. Cela permet d'ajouter stratégiquement des images aux PDF de manière personnalisée.
Voici un exemple simple qui montre comment ajouter une image à un PDF avec C# :
using System.Drawing;
using Spire.Pdf;
using Spire.Pdf.Graphics;
namespace AddImageToPdf
{
class Program
{
static void Main(string[] args)
{
// Créer un objet PdfDocument
PdfDocument doc = new PdfDocument();
// Définir les marges
doc.PageSettings.SetMargins(20);
// Ajouter une page
PdfPageBase page = doc.Pages.Add();
// Charger une image
Image image = Image.FromFile(@"C:\Users\Administrator\Desktop\announcement.jpg");
// Obtenir la largeur et la hauteur de l'image
float width = image.PhysicalDimension.Width;
float height = image.PhysicalDimension.Height;
// Déclarer une variable PdfImage
PdfImage pdfImage;
// Si la largeur de l'image est supérieure à la largeur de la page
if (width > page.Canvas.ClientSize.Width)
{
// Redimensionner l'image pour l'adapter à la largeur de la page
float widthFitRate = width / page.Canvas.ClientSize.Width;
Size size = new Size((int)(width / widthFitRate), (int)(height / widthFitRate));
Bitmap scaledImage = new Bitmap(image, size);
// Charger l'image redimensionnée dans l'objet PdfImage
pdfImage = PdfImage.FromImage(scaledImage);
}
else
{
// Charger l'image d'origine dans l'objet PdfImage
pdfImage = PdfImage.FromImage(image);
}
// Dessiner l'image à la position (0, 0)
page.Canvas.DrawImage(pdfImage, 0, 0, pdfImage.Width, pdfImage.Height);
// Enregistrer dans un fichier
doc.SaveToFile("AddImage.pdf");
}
}
}
Voici un exemple simple qui montre comment ajouter une image à un PDF avec VB.NET :
Imports System.Drawing
Imports Spire.Pdf
Imports Spire.Pdf.Graphics
Namespace AddImageToPdf
Class Program
Shared Sub Main(ByVal args() As String)
' Créer un objet PdfDocument
Dim doc As PdfDocument = New PdfDocument()
' Définir les marges
doc.PageSettings.SetMargins(20)
' Ajouter une page
Dim page As PdfPageBase = doc.Pages.Add()
' Charger une image
Dim image As Image = Image.FromFile("C:\Users\Administrator\Desktop\announcement.jpg")
' Obtenir la largeur et la hauteur de l'image
Dim width As Single = image.PhysicalDimension.Width
Dim height As Single = image.PhysicalDimension.Height
' Déclarer une variable PdfImage
Dim pdfImage As PdfImage
' Si la largeur de l'image est supérieure à la largeur de la page
If width > page.Canvas.ClientSize.Width Then
' Redimensionner l'image pour qu'elle s'adapte à la largeur de la page
Dim widthFitRate As Single = width / page.Canvas.ClientSize.Width
Dim size As Size = New Size(CType((width / widthFitRate),(Integer)(height / widthFitRate), Integer))
Dim scaledImage As Bitmap = New Bitmap(image,size)
' Charger l'image redimensionnée dans l'objet PdfImage
pdfImage = PdfImage.FromImage(scaledImage)
Else
' Charger l'image originale dans l'objet PdfImage
pdfImage = PdfImage.FromImage(image)
End If
' Dessiner l'image à la position (0, 0)
page.Canvas.DrawImage(pdfImage, 0, 0, pdfImage.Width, pdfImage.Height)
' Enregistrer dans un fichier
doc.SaveToFile("AddImage.pdf")
End Sub
End Class
End Namespace
Convertir une image en PDF avec C# et VB.NET
Lors de la conversion d'images individuelles au format PDF, vous avez la possibilité de conserver la taille originale de l'image en tant que dimensions de la page du nouveau document PDF. Cela permet à chaque image d'être présentée aussi fidèlement que possible à sa taille et résolution d'origine dans le visualiseur PDF.
Voici un exemple simple qui montre comment convertir une image en PDF avec C# :
using System.Drawing;
using Spire.Pdf;
using Spire.Pdf.Graphics;
namespace ConvertImageToPdfWithSameSize
{
class Program
{
static void Main(string[] args)
{
// Créer un objet PdfDocument
PdfDocument doc = new PdfDocument();
// Définir les marges à 0
doc.PageSettings.SetMargins(0);
// Charger une image
Image image = Image.FromFile(@"C:\Users\Administrator\Desktop\announcement.jpg");
// Obtenir la largeur et la hauteur de l'image
float width = image.PhysicalDimension.Width;
float height = image.PhysicalDimension.Height;
// Ajouter une page de la même taille que l'image
PdfPageBase page = doc.Pages.Add(new SizeF(width, height));
// Créer un objet PdfImage basé sur l'image
PdfImage pdfImage = PdfImage.FromImage(image);
// Dessiner l'image à la position (0, 0) de la page
page.Canvas.DrawImage(pdfImage, 0, 0, pdfImage.Width, pdfImage.Height);
// Enregistrer dans un fichier
doc.SaveToFile("ConvertPdfWithSameSize.pdf");
}
}
}
Voici un exemple simple qui montre comment convertir une image en PDF avec VB.NET :
Imports System.Drawing
Imports Spire.Pdf
Imports Spire.Pdf.Graphics
Namespace ConvertImageToPdfWithSameSize
Class Program
Shared Sub Main(ByVal args() As String)
' Créer un objet PdfDocument
Dim doc As PdfDocument = New PdfDocument()
' Définir les marges à 0
doc.PageSettings.SetMargins(0)
' Charger une image
Dim image As Image = Image.FromFile("C:\Users\Administrator\Desktop\announcement.jpg")
' Obtenir la largeur et la hauteur de l'image
Dim width As Single = image.PhysicalDimension.Width
Dim height As Single = image.PhysicalDimension.Height
' Ajouter une page de la même taille que l'image
Dim page As PdfPageBase = doc.Pages.Add(New SizeF(width,height))
' Créer un objet PdfImage basé sur l'image
Dim pdfImage As PdfImage = PdfImage.FromImage(image)
' Dessiner l'image à la position (0, 0) de la page
page.Canvas.DrawImage(pdfImage, 0, 0, pdfImage.Width, pdfImage.Height)
' Enregistrer dans un fichier
doc.SaveToFile("ConvertPdfWithSameSize.pdf")
End Sub
End Class
End Namespace
Convertir plusieurs images en un seul PDF avec C# et VB.NET
Dans certaines situations, vous pouvez vouloir combiner plusieurs images en un seul PDF dans le but de les partager ou de les archiver.
Voici un exemple simple qui montre comment convertir plusieurs images en un PDF avec C# :
using Spire.Pdf;
using Spire.Pdf.Graphics;
using System.Drawing;
namespace ConvertMultipleImagesIntoPdf
{
class Program
{
static void Main(string[] args)
{
// Créer un objet PdfDocument
PdfDocument doc = new PdfDocument();
// Définir les marges de page à 0
doc.PageSettings.SetMargins(0);
// Obtenir le dossier où les images sont stockées
DirectoryInfo folder = new DirectoryInfo(@"C:\Users\Administrator\Desktop\Images");
// Parcourir les fichiers du dossier
foreach (FileInfo file in folder.GetFiles())
{
// Charger une image particulière
Image image = Image.FromFile(file.FullName);
// Obtenir la largeur et la hauteur de l'image
float width = image.PhysicalDimension.Width;
float height = image.PhysicalDimension.Height;
// Ajouter une page de la même taille que l'image
PdfPageBase page = doc.Pages.Add(new SizeF(width, height));
// Créer un objet PdfImage basé sur l'image
PdfImage pdfImage = PdfImage.FromImage(image);
// Dessiner l'image à la position (0, 0) de la page
page.Canvas.DrawImage(pdfImage, 0, 0, pdfImage.Width, pdfImage.Height);
}
// Enregistrer dans un fichier
doc.SaveToFile("CombineImagesToPdf.pdf");
doc.Dispose();
}
}
}
Voici un exemple simple qui montre comment convertir plusieurs images en un PDF avec VB.NET :
Imports Spire.Pdf
Imports Spire.Pdf.Graphics
Imports System.Drawing
Namespace ConvertMultipleImagesIntoPdf
Class Program
Shared Sub Main(ByVal args() As String)
' Créer un objet PdfDocument
Dim doc As PdfDocument = New PdfDocument()
' Définir les marges de page à 0
doc.PageSettings.SetMargins(0)
' Obtenir le dossier où les images sont stockées
Dim folder As DirectoryInfo = New DirectoryInfo("C:\Users\Administrator\Desktop\Images")
' Parcourir les fichiers du dossier
Dim file As FileInfo
For Each file In folder.GetFiles()
' Charger une image particulière
Dim image As Image = Image.FromFile(file.FullName)
' Obtenir la largeur et la hauteur de l'image
Dim width As Single = image.PhysicalDimension.Width
Dim height As Single = image.PhysicalDimension.Height
' Ajouter une page de la même taille que l'image
Dim page As PdfPageBase = doc.Pages.Add(New SizeF(width,height))
' Créer un objet PdfImage basé sur l'image
Dim pdfImage As PdfImage = PdfImage.FromImage(image)
' Dessiner l'image à la position (0, 0) de la page
page.Canvas.DrawImage(pdfImage, 0, 0, pdfImage.Width, pdfImage.Height)
Next
' Enregistrer dans un fichier
doc.SaveToFile("CombinaImagesToPdf.pdf")
doc.Dispose()
End Sub
End Class
End Namespace
Sujets connexes
Posted on August 18, 2023
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.