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");
Alternatives à QuestPDF pour Ajouter un Filigrane à un PDF
COMPARAISON DES PRODUITS
Découvrez les meilleures alternatives pour le filigrane QuestPDF dans .NET
Jordi Bardia
mars 27, 2025
Partager:
Introduction
Les filigranes servent d'élément essentiel dans les documents PDF, fournissant une indication visuelle de propriété, d'authenticité ou de confidentialité. Ils peuvent dissuader l'utilisation non autorisée et aider à protéger la propriété intellectuelle, ce qui les rend cruciaux pour les entreprises et les particuliers. Dans cet article, nous comparerons deux bibliothèques puissantes — IronPDF et QuestPDF — en nous concentrant sur leurs capacités d'ajout de filigranes aux fichiers PDF en C#.
Présentation d'IronPDF
Image cassée Ajouter depuis Pixabay, sélectionner depuis vos fichiers ou glisser-déposer une image ici.
Caractéristiques principales
IronPDF est une bibliothèque PDF robuste qui permet aux développeurs de créer, modifier et manipuler des documents PDF de manière fluide. Les fonctionnalités clés liées au filigrane incluent :
Filigrane flexible : Prend en charge les filigranes de texte et d'image, permettant une personnalisation en termes de police, taille, couleur et transparence.
Intégration facile : Compatible avec les applications .NET, facilitant son implémentation dans des projets existants.
Options de mise en forme riches : Offre de vastes options de style pour les filigranes, améliorant l'attrait visuel de vos documents.
Outils de conversion : Convertissez HTML, URL, images, et plus encore en formats PDF.
Installation et configuration
Pour commencer avec IronPDF, suivez ces étapes :
Installez le package NuGet IronPDF en exécutant la commande suivante dans votre console du gestionnaire de packages :
Install-Package IronPdf
Install-Package IronPdf
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'Install-Package IronPdf
$vbLabelText $csharpLabel
Ajoutez les espaces de noms nécessaires dans votre fichier C# :
using IronPdf;
using IronPdf;
Imports IronPdf
$vbLabelText $csharpLabel
Ajout de filigranes à un document PDF avec IronPDF
IronPDF utilise une chaîne HTML et un style CSS pour ajouter des filigranes entièrement personnalisables à vos documents PDF. L'outil de filigrane peut prendre n'importe quelle chaîne HTML, même si elle contient des éléments tels que des images et des styles CSS, et l'appliquer au fichier PDF en tant que filigrane.
using IronPdf;
class Program
{
static void Main()
{
PdfDocument pdf = PdfDocument.FromFile("existing.pdf");
string watermark = "<img src='https://ironsoftware.com/img/products/ironpdf-logo-text-dotnet.svg'><h1 style='color:red'>CONFIDENTIAL</H1>";
pdf.ApplyWatermark(watermark, rotation: 45, opacity: 80);
pdf.SaveAs("watermarked.pdf");
}
}
using IronPdf;
class Program
{
static void Main()
{
PdfDocument pdf = PdfDocument.FromFile("existing.pdf");
string watermark = "<img src='https://ironsoftware.com/img/products/ironpdf-logo-text-dotnet.svg'><h1 style='color:red'>CONFIDENTIAL</H1>";
pdf.ApplyWatermark(watermark, rotation: 45, opacity: 80);
pdf.SaveAs("watermarked.pdf");
}
}
Imports IronPdf
Friend Class Program
Shared Sub Main()
Dim pdf As PdfDocument = PdfDocument.FromFile("existing.pdf")
Dim watermark As String = "<img src='https://ironsoftware.com/img/products/ironpdf-logo-text-dotnet.svg'><h1 style='color:red'>CONFIDENTIAL</H1>"
pdf.ApplyWatermark(watermark, rotation:= 45, opacity:= 80)
pdf.SaveAs("watermarked.pdf")
End Sub
End Class
$vbLabelText $csharpLabel
Fichier PDF de sortie
Image cassée Ajouter depuis Pixabay, sélectionner depuis vos fichiers ou glisser-déposer une image ici.
Comme vous pouvez le voir, nous avons créé une nouvelle variable de type chaîne contenant notre contenu de filigrane. Ceci est composé d'une chaîne HTML avec un en-tête et une image. Lorsque nous utilisons la méthode ApplyWatermark, nous pouvons définir une rotation et une opacité personnalisées.
Si vous souhaitez voir des exemples plus avancés et d'autres fonctionnalités qu'IronPDF a à offrir, assurez-vous de consulter les Guides pratiques !
Vue d'ensemble de QuestPDF
Image cassée Ajouter depuis Pixabay, sélectionner depuis vos fichiers ou glisser-déposer une image ici.
Caractéristiques principales
QuestPDF est une bibliothèque PDF moderne qui met l'accent sur la facilité d'utilisation et un design convivial pour les développeurs. Les fonctionnalités clés liées au filigrane incluent :
API déclarative : Utilise une API fluente qui permet aux développeurs de définir des filigranes de manière claire et intuitive.
Haute personnalisabilité : Prend en charge divers types de filigranes, y compris le texte, les images et les formes, avec de nombreuses options de personnalisation.
Accent sur les performances : Optimisé pour la rapidité et l'efficacité, ce qui le rend adapté à la génération de PDF en grande quantité.
Installation et configuration
Pour installer QuestPDF, suivez ces étapes :
Installez le paquet NuGet QuestPDF en utilisant la commande suivante :
Install-Package QuestPDF
Install-Package QuestPDF
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'Install-Package QuestPDF
$vbLabelText $csharpLabel
Incluez l'espace de noms nécessaire dans votre fichier C# :
using QuestPDF;
using QuestPDF;
Imports QuestPDF
$vbLabelText $csharpLabel
Ajout de filigranes avec QuestPDF
QuestPDF adopte une approche différente pour appliquer des filigranes aux fichiers PDF. Avec QuestPDF, cela se fait via des emplacements de filigrane (à l'arrière-plan et au premier plan) qui sont utilisés pour ajouter du contenu de filigrane à une page spécifique ou à toutes les pages du PDF.
using QuestPDF.Fluent;
using QuestPDF.Helpers;
using QuestPDF.Infrastructure;
public class WatermarkExample
{
public static void Main()
{
QuestPDF.Settings.License = LicenseType.Community;
Document.Create(container =>
{
container.Page(page =>
{
page.Margin(50);
// Add a watermark
page.Foreground().Element(watermark =>
{
watermark.Text("DRAFT")
.FontSize(40)
.FontColor(Colors.Red.Medium)
.AlignLeft();
});
// Main content of the page
page.Content().Element(ComposeContent);
});
})
.GeneratePdf("watermarked_document.pdf");
}
private static IContainer ComposeContent(IContainer container)
{
// No need to return the container here; you can just define the layout.
container.Column(column =>
{
column.Spacing(10);
column.Item().Text("This is the main content of the PDF.");
column.Item().Text("Add more content as needed.");
});
return container; // Return the container to maintain method signature.
}
}
using QuestPDF.Fluent;
using QuestPDF.Helpers;
using QuestPDF.Infrastructure;
public class WatermarkExample
{
public static void Main()
{
QuestPDF.Settings.License = LicenseType.Community;
Document.Create(container =>
{
container.Page(page =>
{
page.Margin(50);
// Add a watermark
page.Foreground().Element(watermark =>
{
watermark.Text("DRAFT")
.FontSize(40)
.FontColor(Colors.Red.Medium)
.AlignLeft();
});
// Main content of the page
page.Content().Element(ComposeContent);
});
})
.GeneratePdf("watermarked_document.pdf");
}
private static IContainer ComposeContent(IContainer container)
{
// No need to return the container here; you can just define the layout.
container.Column(column =>
{
column.Spacing(10);
column.Item().Text("This is the main content of the PDF.");
column.Item().Text("Add more content as needed.");
});
return container; // Return the container to maintain method signature.
}
}
Imports QuestPDF.Fluent
Imports QuestPDF.Helpers
Imports QuestPDF.Infrastructure
Public Class WatermarkExample
Public Shared Sub Main()
QuestPDF.Settings.License = LicenseType.Community
Document.Create(Sub(container)
container.Page(Sub(page)
page.Margin(50)
' Add a watermark
page.Foreground().Element(Sub(watermark)
watermark.Text("DRAFT").FontSize(40).FontColor(Colors.Red.Medium).AlignLeft()
End Sub)
' Main content of the page
page.Content().Element(AddressOf ComposeContent)
End Sub)
End Sub).GeneratePdf("watermarked_document.pdf")
End Sub
Private Shared Function ComposeContent(ByVal container As IContainer) As IContainer
' No need to return the container here; you can just define the layout.
container.Column(Sub(column)
column.Spacing(10)
column.Item().Text("This is the main content of the PDF.")
column.Item().Text("Add more content as needed.")
End Sub)
Return container ' Return the container to maintain method signature.
End Function
End Class
$vbLabelText $csharpLabel
Sortie d'un document PDF
Image cassée Ajouter depuis Pixabay, sélectionner depuis vos fichiers ou glisser-déposer une image ici.
Dans la méthode Main, nous commençons par créer un document avec une page qui a une marge de 50 unités. Nous créons ensuite le filigrane que nous voulons utiliser, qui est le texte simple "DRAFT" en rouge, stylé avec une taille de police de 40 et aligné à gauche. Cette approche pour appliquer des filigranes aux documents PDF est plus rigide et complexe à configurer par rapport à l'approche simplifiée d'IronPDF. Avec QuestPDF, vous pouvez avoir moins de contrôle sur l'apparence et l'emplacement du filigrane.
Comparaison des capacités de filigrane
Facilité d'utilisation
IronPDF offre une approche simplifiée avec sa documentation riche et ses exemples, la rendant accessible aux débutants. QuestPDF, avec son API déclarative, simplifie encore le processus en permettant un code concis, ce qui peut améliorer la productivité.
Options de personnalisation
Les deux bibliothèques offrent une personnalisation étendue pour les filigranes. IronPDF permet une personnalisation détaillée des textes et des images, tandis que QuestPDF offre un moyen plus flexible d'agencer les éléments et prend en charge des conceptions complexes, ce qui le rend adapté aux applications créatives.
Performance
En termes de performance, les deux bibliothèques fonctionnent bien, mais QuestPDF peut avoir l'avantage en termes de vitesse grâce à son design efficace. Il est conseillé de tester les bibliothèques dans des scénarios réels pour déterminer celle qui convient le mieux à votre cas d'utilisation spécifique.
QuestPDF offre une licence open-source avec la possibilité d'un support commercial. Cela en fait un choix économique pour les développeurs recherchant une fonctionnalité robuste sans un engagement financier significatif.
Conclusion

Tant IronPDF que QuestPDF sont des bibliothèques puissantes pour ajouter des filigranes aux PDFs en C#. IronPDF excelle dans ses options de personnalisation détaillées et son approche conviviale, le rendant idéal pour les utilisateurs qui nécessitent un formatage spécifique. QuestPDF, en revanche, se distingue par la conception moderne de son API et son efficacité en termes de performance, séduisant les développeurs à la recherche d'une solution rapide et intuitive.
Pour les scénarios nécessitant une personnalisation approfondie, IronPDF peut être le choix privilégié. À l'inverse, QuestPDF est bien adapté aux projets qui privilégient la rapidité et la facilité d'utilisation.
🚀Essayez IronPDF par vous-même en téléchargeant la version d'essai gratuite et découvrez comment elle peut propulser vos projets PDF en C# à un niveau supérieur dès aujourd'hui !
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.
SUIVANT > Explorez les meilleures alternatives pour ajouter un filigrane à un PDF avec PDFsharp
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