using IronPdf;
// Disable local disk access or cross-origin requests
Installation.EnableWebSecurity = true;
// Instantiate Renderer
var renderer = new ChromePdfRenderer();
// Create a PDF from a HTML string using C#
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");
// Export to a file or Stream
pdf.SaveAs("output.pdf");
// Advanced Example with HTML Assets
// Load external html assets: Images, CSS and JavaScript.
// An optional BasePath 'C:\site\assets\' is set as the file location to load assets from
var myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", @"C:\site\assets\");
myAdvancedPdf.SaveAs("html-with-assets.pdf");
Explorez les meilleures alternatives pour ajouter des images aux PDFs dans .NET
Jordi Bardia
mars 27, 2025
Partager:
Lorsque vous travaillez avec des fichiers PDF dans un environnement .NET, l'ajout d'images aux documents est une exigence courante pour de nombreuses applications. Que vous génériez des factures, des rapports ou des documents personnalisés, la capacité d'intégrer des images dans des PDF est essentielle. Deux des bibliothèques PDF les plus populaires en C# sont IronPDF et iTextSharp. Dans cet article, nous comparerons les deux bibliothèques concernant leur capacité à ajouter des images aux fichiers PDF, en tenant compte de la facilité d'utilisation, des performances, des licences et des fonctionnalités.
Principales différences entre IronPDF et iTextSharp
Fonctionnalités liées à l'ajout d'images
IronPDF : IronPDF facilite l'ajout d'images aux PDF, avec une prise en charge intégrée pour intégrer des images locales et distantes. Son API permet un contrôle précis de la position de l'image, de sa largeur d'origine et de son échelle dans le document.
iTextSharp : iTextSharp propose également des fonctionnalités pour incorporer des images. Il offre une API flexible et puissante qui peut gérer divers types d'images, y compris JPG et PNG. Cependant, cela peut nécessiter plus de lignes de code pour la personnalisation, en particulier lors de la position ou du redimensionnement des images.
Considérations sur les performances
IronPDF : Connu pour son efficacité, IronPDF gère de manière fluide les grands PDF et images. Ses performances brillent lors de la génération ou de la modification de PDF avec des graphiques intégrés, ce qui en fait un excellent choix pour les applications serveur nécessitant une haute performance.
iTextSharp : Bien qu'iTextSharp soit une bibliothèque fiable, elle peut être plus lente dans certaines situations, surtout avec des fichiers volumineux ou des opérations d'image complexes. Cependant, il convient encore à la plupart des applications.
Modèles de licences et de tarification
IronPDF : IronPDF propose une licence perpétuelle, ce qui signifie qu'un achat unique couvre l'utilisation indéfiniment. C'est idéal pour les développeurs qui souhaitent éviter les coûts d'abonnement récurrents.
iTextSharp : iTextSharp fonctionne sous la licence AGPL (Affero General Public License) pour une utilisation open-source, ce qui signifie que vous devez publier votre code source si vous l'utilisez dans vos projets, ou vous pouvez opter pour une licence commerciale pour éviter cela.
Ajout d'images aux PDF à l'aide de IronPDF
Configuration d'IronPDF dans votre projet C
Avant d'ajouter des images, vous devez installer IronPDF dans votre dernière version de projet C# ou Visual Basic. Vous pouvez le faire via NuGet :
Install-Package IronPdf
Install-Package IronPdf
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'Install-Package IronPdf
Une fois installé, vous pouvez commencer à ajouter des images à vos documents PDF.
Ajouter des images aux PDFs avec IronPDF : Exemple de code
L'exemple de code suivant montre comment ajouter une image à un PDF en utilisant IronPDF :
using IronPdf;
using IronPdf.Editing;
class Program
{
public static void Main(string[] args)
{
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");
ImageStamper stamper = new ImageStamper(new Uri("https://ironpdf.com/img/svgs/iron-pdf-logo.svg"));
pdf.ApplyStamp(stamper);
pdf.SaveAs("output.pdf");
}
}
using IronPdf;
using IronPdf.Editing;
class Program
{
public static void Main(string[] args)
{
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");
ImageStamper stamper = new ImageStamper(new Uri("https://ironpdf.com/img/svgs/iron-pdf-logo.svg"));
pdf.ApplyStamp(stamper);
pdf.SaveAs("output.pdf");
}
}
Imports IronPdf
Imports IronPdf.Editing
Friend Class Program
Public Shared Sub Main(ByVal args() As String)
Dim renderer As New ChromePdfRenderer()
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>")
Dim stamper As New ImageStamper(New Uri("https://ironpdf.com/img/svgs/iron-pdf-logo.svg"))
pdf.ApplyStamp(stamper)
pdf.SaveAs("output.pdf")
End Sub
End Class
Dans cet exemple, nous utilisons d'abord la classe ChromePdfRenderer pour rendre un nouveau DOC à partir d'une chaîne HTML. Ensuite, en utilisant l'outil de tamponnage d'image d'IronPDF, nous créons une nouvelle image à partir de l'URL de chaîne fournie et l'appliquons au PDF. Cet exemple montre comment IronPDF peut être utilisé pour ajouter des images à votre page PDF en seulement quelques lignes de code.
Personnalisation du placement et de la taille de l'image
IronPDF permet une personnalisation étendue en ce qui concerne le placement des images. Vous pouvez spécifier l'emplacement de l'image sur la page en définissant l'alignement et le décalage de l'image grâce à la fonctionnalité de positionnement de l'outil de tamponnage.
Ajout d'images aux PDF à l'aide d'iTextSharp
Configuration de iTextSharp dans votre projet C
Pour commencer avec iTextSharp, vous devez installer la bibliothèque via NuGet :
Install-Package itext7
Install-Package itext7
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'Install-Package itext7
Une fois configuré, vous pouvez procéder à l'ajout d'images à vos PDF.
Ajout d'images aux PDF avec iTextSharp : Exemple de code
Voici un exemple de comment insérer une image en utilisant iTextSharp :
using iText.Kernel.Pdf;
using iText.Layout;
using iText.Layout.Element;
using iText.IO.Image;
class Program
{
public static void Main(string[] args)
{
var pdfWriter = new PdfWriter("output.pdf");
var pdfDocument = new iText.Kernel.Pdf.PdfDocument(pdfWriter);
var document = new Document(pdfDocument);
ImageData imageData = ImageDataFactory.Create("iText.png");
Image image = new Image(imageData);
image.SetFixedPosition(50, 100); // x, y coordinates
image.ScaleToFit(200, 200); // Width, Height
document.Add(image);
document.Close();
}
}
using iText.Kernel.Pdf;
using iText.Layout;
using iText.Layout.Element;
using iText.IO.Image;
class Program
{
public static void Main(string[] args)
{
var pdfWriter = new PdfWriter("output.pdf");
var pdfDocument = new iText.Kernel.Pdf.PdfDocument(pdfWriter);
var document = new Document(pdfDocument);
ImageData imageData = ImageDataFactory.Create("iText.png");
Image image = new Image(imageData);
image.SetFixedPosition(50, 100); // x, y coordinates
image.ScaleToFit(200, 200); // Width, Height
document.Add(image);
document.Close();
}
}
Imports iText.Kernel.Pdf
Imports iText.Layout
Imports iText.Layout.Element
Imports iText.IO.Image
Friend Class Program
Public Shared Sub Main(ByVal args() As String)
Dim pdfWriter As New PdfWriter("output.pdf")
Dim pdfDocument = New iText.Kernel.Pdf.PdfDocument(pdfWriter)
Dim document As New Document(pdfDocument)
Dim imageData As ImageData = ImageDataFactory.Create("iText.png")
Dim image As New Image(imageData)
image.SetFixedPosition(50, 100) ' x, y coordinates
image.ScaleToFit(200, 200) ' Width, Height
document.Add(image)
document.Close()
End Sub
End Class
Dans cet exemple, l'image est ajoutée aux coordonnées (50, 100) et mise à l'échelle pour s'adapter à une zone de 200x200 pixels. Le PdfWriter est utilisé pour créer le fichier de sortie, ce qui permet de manipuler la fonctionnalité du pdfwriter pour gérer les images.
Personnalisation du placement et de la taille de l'image
iTextSharp offre un contrôle accru sur le positionnement et la taille de l'image. Vous pouvez redimensionner l'image tout en maintenant le rapport d'aspect ou l'étirer à des dimensions spécifiques. La méthode SetFixedPosition offre un contrôle précis sur le placement, et vous pouvez également manipuler l’alignement et la rotation de l’image.
Comparaison de performance : IronPDF vs iTextSharp
En ce qui concerne les performances, les deux bibliothèques s'occupent de la tâche d'ajouter des images aux PDFs, mais elles ont quelques différences :
IronPDF est optimisé pour la performance et peut traiter efficacement de grands documents contenant plusieurs images. C'est plus rapide pour le rendu des PDFs, surtout pour les documents nécessitant un contenu graphique lourd.
iTextSharp offre de bonnes performances, mais il peut avoir des difficultés avec des PDFs très volumineux ou un grand nombre d'images haute résolution. Bien qu'il soit encore assez efficace, certains développeurs signalent des temps de rendu plus lents par rapport à IronPDF, notamment dans les cas d'utilisation plus complexes.
Modèles de licences et de tarification
IronPDF : IronPDF propose une licence perpétuelle simple qui nécessite un achat unique. Ceci est bénéfique pour les développeurs qui préfèrent ne pas avoir à gérer des coûts permanents ou des exigences de licence open-source.
iTextSharp : iTextSharp suit la licence AGPL, qui est gratuite à utiliser pour les projets open-source mais exige que le code source soit rendu public si la bibliothèque est utilisée dans une application web. Pour un usage commercial, iTextSharp propose une licence commerciale payante pour éviter les restrictions de l'AGPL.
Conclusion
Tant IronPDF qu'iTextSharp offrent des outils puissants pour ajouter des images aux fichiers PDF en C#, mais chacun a ses avantages distincts. IronPDF se distingue par sa facilité d'utilisation, ses performances et sa flexibilité de licence, ce qui en fait le choix idéal pour les développeurs souhaitant gérer des PDF et des images complexes avec moins de code. Il offre également une meilleure évolutivité pour les grands fichiers PDF et propose un modèle de licence d'achat unique, évitant ainsi les coûts récurrents ou les restrictions complexes des licences open source.
D'autre part, iTextSharp peut être un bon choix pour les projets open-source, bien qu'il puisse nécessiter plus de code pour obtenir les mêmes résultats et rencontrer des problèmes de performance avec des PDF plus volumineux.
Prêt à simplifier la gestion de vos images PDF ? IronPDF offre une expérience fluide et efficace pour ajouter des images à vos PDF avec seulement quelques lignes de code. Essayez IronPDF et voyez à quel point il est facile d'intégrer le support d'images dans vos projets C#. Avec IronPDF, vous gagnerez du temps, réduirez la complexité et améliorerez votre flux de travail de génération de PDF.
Jordi maîtrise parfaitement Python, C# et C++. Lorsqu'il ne met pas à profit ses compétences chez Iron Software, il se consacre à la programmation de jeux. Partageant des responsabilités en matière de tests de produits, de développement de produits et de recherche, Jordi apporte une valeur ajoutée considérable à l'amélioration continue des produits. Cette expérience variée le stimule et l'engage, et il dit que c'est l'un des aspects qu'il préfère dans son travail chez Iron Software. Jordi a grandi à Miami, en Floride, et a étudié l'informatique et les statistiques à l'université de Floride.
< PRÉCÉDENT Explorez les meilleures alternatives pour ajouter un filigrane à un PDF avec PDFsharp
SUIVANT > Explorez les meilleures alternatives à PDFsharp pour la conversion de PDF en image
Des millions d'ingénieurs dans le monde entier lui font confiance
Réservez une démo en direct gratuite
Réservez une démonstration personnelle de 30 minutes.
Pas de contrat, pas de détails de carte, pas d'engagements.
Voici ce à quoi vous pouvez vous attendre :
Une démonstration en direct de notre produit et de ses principales fonctionnalités
Obtenez des recommandations de fonctionnalités spécifiques au projet
Toutes vos questions trouvent réponse pour vous assurer de disposer de toutes les informations dont vous avez besoin. (Aucun engagement de votre part.)
CHOISIR L'HEURE
VOS INFORMATIONS
Réservez votre démo en direct gratuite
Fiable par plus de 2 millions d'ingénieurs dans le monde entier