Passer au contenu du pied de page
COMPARAISONS DE PRODUITS

Explorez les meilleures alternatives pour PDFsharp Ajouter un filigrane à PDF

Ajouter des filigranes à des PDF est une exigence courante pour la sécurité des documents, l'image de marque et le contrôle de version. Que ce soit pour marquer des documents comme confidentiels, pour identifier des rapports officiels ou pour prévenir la reproduction non autorisée, le filigrane est une fonctionnalité essentielle.

In C#, developers have multiple libraries to choose from, with IronPDF and PDFSharp being two of the most popular options. Cependant, leurs approches, leur facilité d'utilisation, leurs performances et leurs structures de licence diffèrent considérablement. Cet article fournit une comparaison détaillée entre IronPDF et PDFsharp pour l'ajout de filigranes aux PDF existants, offrant des aperçus sur leurs fonctionnalités, leurs processus d'implémentation et leurs capacités de personnalisation.

À la fin de cet article, vous aurez une compréhension claire de la bibliothèque qui convient le mieux aux besoins de votre projet en fonction de la facilité d'utilisation, des performances et de la disponibilité des fonctionnalités.

Comprendre le Filigranage de PDF

Qu'est-ce qu'un Filigrane ?

Un filigrane est une superposition graphique ou textuelle sur un document qui sert d'identifiant, de moyen de dissuasion ou d'élément de marque. Les filigranes peuvent être visibles ou invisibles, selon leur objectif.

Types de Filigranes

  • Filigrane Texte – Typiquement une superposition semi-transparente avec un message comme "CONFIDENTIEL" ou "BROUILLON".
  • Filigrane Image – Un logo, un emblème ou un graphique intégré dans le document.
  • Filigrane Transparent – Une marque de branding subtile qui n'obstrue pas la lisibilité du document.
  • Filigrane Estampé – Une marque plus visible et en gras assurant la visibilité.

Cas d'Utilisation Courants

  • Sécurité et Protection – Empêcher la duplication non autorisée en marquant les documents comme propriétaires.
  • Branding – Ajouter des logos ou signatures d'entreprise pour maintenir la cohérence de la marque à travers les documents.
  • Contrôle de Version – Étiquetter les brouillons, les versions finales ou les révisions de documents.

Vue d'Ensemble d'IronPDF et PDFsharp

IronPDF

IronPDF est une bibliothèque .NET premium, riche en fonctionnalités, conçue pour simplifier la gestion des PDF. Elle est particulièrement utile pour les développeurs cherchant à faciliter l'implémentation des tâches de manipulation de PDF, y compris le filigranage.

Caractéristiques Principales :

  • API simple et intuitive nécessitant un code minimal.
  • Supporte les filigranes texte et image avec des options de personnalisation.
  • Offre un contrôle de l'opacité, du positionnement et de la rotation pour un placement précis.
  • Compatible avec .NET 6+, .NET Core, et .NET Framework.
  • Disponible avec un modèle de licence perpétuelle pour une utilisation à long terme.
  • Additional capabilities include PDF annotations, HTML-to-PDF conversion, and digital signatures.

PDFsharp

PDFsharp est une bibliothèque open-source qui permet aux développeurs de créer, éditer, et manipuler des PDF en C#. Bien qu'elle soit très flexible, le filigranage demande plus d'efforts manuels comparé à IronPDF.

Caractéristiques Principales :

  • Gratuite et open-source, ce qui la rend économique pour les projets attentifs au budget.
  • Offre un contrôle bas niveau sur les opérations de dessin PDF, incluant les chemins graphiques contournés et graphiques transparents.
  • Supporte à la fois les filigranes texte et image mais nécessite du code supplémentaire pour les transformations.
  • Fonctionne avec .NET Framework et .NET Core (via PDFSharpCore).
  • Ne possède pas de fonctions de filigranage de haut niveau intégrées, nécessitant des développeurs de mettre en œuvre manuellement des fonctionnalités comme l'opacité et la rotation.

Ajouter un Filigrane avec IronPDF

IronPDF fournit une API simple qui permet aux développeurs d'appliquer des filigranes efficacement avec juste quelques lignes de code, facilitant l'optimisation de vos tâches de filigranage de PDF sans configurations complexes ou manuelles. L'outil de filigrane d'IronPDF peut utiliser des chaînes HTML/CSS pour le filigrane, comme vous le verrez ci-dessous, vous donnant un contrôle total sur l'apparence de votre filigrane.

Exemple de Filigrane Texte

using IronPdf;

const string filename = "existing.pdf";
// Load the existing PDF file
PdfDocument pdf = PdfDocument.FromFile(filename);

// Create a simple HTML-based watermark
string watermark = "<h1 style='color:red'>Confidential!</h1>";

// Apply the watermark to the PDF
pdf.ApplyWatermark(watermark);

// Save the updated document with the applied watermark
pdf.SaveAs("watermarked.pdf");
using IronPdf;

const string filename = "existing.pdf";
// Load the existing PDF file
PdfDocument pdf = PdfDocument.FromFile(filename);

// Create a simple HTML-based watermark
string watermark = "<h1 style='color:red'>Confidential!</h1>";

// Apply the watermark to the PDF
pdf.ApplyWatermark(watermark);

// Save the updated document with the applied watermark
pdf.SaveAs("watermarked.pdf");
Imports IronPdf

Private Const filename As String = "existing.pdf"
' Load the existing PDF file
Private pdf As PdfDocument = PdfDocument.FromFile(filename)

' Create a simple HTML-based watermark
Private watermark As String = "<h1 style='color:red'>Confidential!</h1>"

' Apply the watermark to the PDF
pdf.ApplyWatermark(watermark)

' Save the updated document with the applied watermark
pdf.SaveAs("watermarked.pdf")
$vbLabelText   $csharpLabel

Explorez les Meilleures Alternatives pour PDFsharp Ajouter un Filigrane : Figure 3 - Sortie de filigrane texte

Dans cet exemple de code, nous voyons à quel point il est facile d'appliquer un filigrane à vos fichiers PDF existants avec IronPDF. Ici, nous chargeons le PDF existant en utilisant la méthode FromFile. Ensuite, nous créons une simple chaîne formatée en tant qu'élément HTML comme filigrane et l'appliquons au PDF en utilisant ApplyWatermark. Comme montré dans l'image de sortie, cela a ajouté une simple chaîne de texte "Confidentiel" comme filigrane sur notre PDF.

Exemple de Filigrane Image

using IronPdf;

// Load the PDF document
PdfDocument pdf = PdfDocument.FromFile("existing.pdf");

// Create an HTML-based watermark containing the image
string watermark = "<img src='https://ironsoftware.com/img/products/ironpdf-logo-text-dotnet.svg'>";

// Apply the watermark to the PDF with rotation and opacity
pdf.ApplyWatermark(watermark, rotation: 45, opacity: 80);

// Save the watermarked document
pdf.SaveAs("watermarked.pdf");
using IronPdf;

// Load the PDF document
PdfDocument pdf = PdfDocument.FromFile("existing.pdf");

// Create an HTML-based watermark containing the image
string watermark = "<img src='https://ironsoftware.com/img/products/ironpdf-logo-text-dotnet.svg'>";

// Apply the watermark to the PDF with rotation and opacity
pdf.ApplyWatermark(watermark, rotation: 45, opacity: 80);

// Save the watermarked document
pdf.SaveAs("watermarked.pdf");
Imports IronPdf

' Load the PDF document
Private pdf As PdfDocument = PdfDocument.FromFile("existing.pdf")

' Create an HTML-based watermark containing the image
Private watermark As String = "<img src='https://ironsoftware.com/img/products/ironpdf-logo-text-dotnet.svg'>"

' Apply the watermark to the PDF with rotation and opacity
pdf.ApplyWatermark(watermark, rotation:= 45, opacity:= 80)

' Save the watermarked document
pdf.SaveAs("watermarked.pdf")
$vbLabelText   $csharpLabel

Explorez les Meilleures Alternatives pour PDFsharp Ajouter un Filigrane : Figure 4

Ajouter une image comme filigrane est aussi simple qu'ajouter du texte, car ils utilisent tous deux la même méthode. Tout comme dans l'exemple de texte, nous créons une nouvelle variable de chaîne de filigrane contenant la balise HTML image pointant vers l'URL de l'image et l'appliquons. Cette fois, nous incluons des transformations personnalisées de rotation et d'opacité.

Cette approche superpose un filigrane d'image à une position spécifiée, permettant un placement et une transparence personnalisés.

Ajouter un Filigrane avec PDFsharp

PDFsharp nécessite que les développeurs rendent manuellement le texte et les images en utilisant son API de dessin GDI+. Pour ajouter un filigrane à un fichier PDF existant, créez un objet XGraphics pour dessiner et appliquer le contenu désiré.

Exemple de Filigrane Texte

using PdfSharp.Pdf;
using PdfSharp.Drawing;
using PdfSharp.Pdf.IO;

const string filename = "existing.pdf";
// Open the PDF document in modify mode
var document = PdfReader.Open(filename, PdfDocumentOpenMode.Modify);

foreach (var page in document.Pages)
{
    // Create an XGraphics object for drawing
    var gfx = XGraphics.FromPdfPage(page);

    // Move the origin to the center of the page for rotation purposes
    gfx.TranslateTransform(page.Width / 2, page.Height / 2);

    // Rotate for diagonal watermark placement
    gfx.RotateTransform(Math.Atan(page.Height / page.Width));

    // Define font and brush for drawing the watermark text
    var font = new XFont("Arial", 40);
    var brush = new XSolidBrush(XColor.FromArgb(128, XColors.Red));  // Semi-transparent red

    // Draw the watermark text centered on the page
    gfx.DrawString("WATERMARK", font, brush, new XPoint(0, 0));
}

// Save modified document
document.Save("watermarked.pdf");
using PdfSharp.Pdf;
using PdfSharp.Drawing;
using PdfSharp.Pdf.IO;

const string filename = "existing.pdf";
// Open the PDF document in modify mode
var document = PdfReader.Open(filename, PdfDocumentOpenMode.Modify);

foreach (var page in document.Pages)
{
    // Create an XGraphics object for drawing
    var gfx = XGraphics.FromPdfPage(page);

    // Move the origin to the center of the page for rotation purposes
    gfx.TranslateTransform(page.Width / 2, page.Height / 2);

    // Rotate for diagonal watermark placement
    gfx.RotateTransform(Math.Atan(page.Height / page.Width));

    // Define font and brush for drawing the watermark text
    var font = new XFont("Arial", 40);
    var brush = new XSolidBrush(XColor.FromArgb(128, XColors.Red));  // Semi-transparent red

    // Draw the watermark text centered on the page
    gfx.DrawString("WATERMARK", font, brush, new XPoint(0, 0));
}

// Save modified document
document.Save("watermarked.pdf");
Imports PdfSharp.Pdf
Imports PdfSharp.Drawing
Imports PdfSharp.Pdf.IO

Private Const filename As String = "existing.pdf"
' Open the PDF document in modify mode
Private document = PdfReader.Open(filename, PdfDocumentOpenMode.Modify)

For Each page In document.Pages
	' Create an XGraphics object for drawing
	Dim gfx = XGraphics.FromPdfPage(page)

	' Move the origin to the center of the page for rotation purposes
	gfx.TranslateTransform(page.Width \ 2, page.Height \ 2)

	' Rotate for diagonal watermark placement
	gfx.RotateTransform(Math.Atan(page.Height \ page.Width))

	' Define font and brush for drawing the watermark text
	Dim font = New XFont("Arial", 40)
	Dim brush = New XSolidBrush(XColor.FromArgb(128, XColors.Red)) ' Semi-transparent red

	' Draw the watermark text centered on the page
	gfx.DrawString("WATERMARK", font, brush, New XPoint(0, 0))
Next page

' Save modified document
document.Save("watermarked.pdf")
$vbLabelText   $csharpLabel

Cette implémentation dessine manuellement un filigrane sur chaque page, nécessitant un positionnement et une personnalisation précis. Bien qu'il soit capable de gérer la tâche avec un résultat similaire à l'exemple IronPDF, PDFsharp nécessite plus de code et une méthode plus complexe pour gérer l'application de filigranes texte au contenu existant ou à de nouveaux fichiers PDF.

Exemple de Filigrane Image

using PdfSharp.Pdf;
using PdfSharp.Drawing;
using PdfSharp.Pdf.IO;

// Open the existing PDF document in modify mode
var document = PdfReader.Open("sample.pdf", PdfDocumentOpenMode.Modify);

// Load the watermark image
XImage watermark = XImage.FromFile("watermark.png");

foreach (var page in document.Pages)
{
    // Create a graphics object from the page
    XGraphics gfx = XGraphics.FromPdfPage(page);

    // Draw the image watermark at the specified position and size
    gfx.DrawImage(watermark, 50, 100, watermark.PixelWidth / 2, watermark.PixelHeight / 2);
}

// Save the modified PDF document
document.Save("watermarked.pdf");
using PdfSharp.Pdf;
using PdfSharp.Drawing;
using PdfSharp.Pdf.IO;

// Open the existing PDF document in modify mode
var document = PdfReader.Open("sample.pdf", PdfDocumentOpenMode.Modify);

// Load the watermark image
XImage watermark = XImage.FromFile("watermark.png");

foreach (var page in document.Pages)
{
    // Create a graphics object from the page
    XGraphics gfx = XGraphics.FromPdfPage(page);

    // Draw the image watermark at the specified position and size
    gfx.DrawImage(watermark, 50, 100, watermark.PixelWidth / 2, watermark.PixelHeight / 2);
}

// Save the modified PDF document
document.Save("watermarked.pdf");
Imports PdfSharp.Pdf
Imports PdfSharp.Drawing
Imports PdfSharp.Pdf.IO

' Open the existing PDF document in modify mode
Private document = PdfReader.Open("sample.pdf", PdfDocumentOpenMode.Modify)

' Load the watermark image
Private watermark As XImage = XImage.FromFile("watermark.png")

For Each page In document.Pages
	' Create a graphics object from the page
	Dim gfx As XGraphics = XGraphics.FromPdfPage(page)

	' Draw the image watermark at the specified position and size
'INSTANT VB WARNING: Instant VB cannot determine whether both operands of this division are integer types - if they are then you should use the VB integer division operator:
	gfx.DrawImage(watermark, 50, 100, watermark.PixelWidth / 2, watermark.PixelHeight / 2)
Next page

' Save the modified PDF document
document.Save("watermarked.pdf")
$vbLabelText   $csharpLabel

Explorez les Meilleures Alternatives pour PDFsharp Ajouter un Filigrane : Figure 6

Cette méthode place un filigrane d'image; however, unlike IronPDF, handling opacity must be managed separately. Comme l'exemple de filigrane texte, appliquer un filigrane basé sur une image sur un PDF existant avec PDFsharp nécessite une configuration plus élaborée et complexe comparé à l'API de filigranage simplifiée d'IronPDF.

Comparer IronPDF et PDFsharp pour Filigranage

Facilité d'utilisation

  • IronPDF: Fournit des fonctions de haut niveau qui simplifient le filigranage avec un code minimal. Il abstrait les opérations complexes, le rendant idéal pour les développeurs qui ont besoin d'une solution rapide et efficace.
  • PDFSharp: Nécessite une implémentation manuelle utilisant l'API graphique, augmentant la complexité et le temps de développement. Il est plus adapté pour les développeurs qui ont besoin d'un contrôle granulaire sur le rendu mais sont à l'aise avec du codage supplémentaire.

Performance

  • IronPDF: Optimisé pour le traitement rapide des PDF, capable de gérer de grands documents efficacement sans dégradation significative des performances.
  • PDFSharp: Bien que léger, il peut nécessiter des optimisations supplémentaires pour gérer de grands PDF. Les tâches de filigranage complexes avec de multiples transformations peuvent entraîner une performance plus lente comparée à IronPDF.

Options de Personnalisation

  • IronPDF: Prise en charge intégrée pour l'opacité, la rotation, le positionnement et la personnalisation de la taille de police. Les utilisateurs peuvent facilement ajuster les paramètres sans plonger dans une logique de rendu complexe.
  • PDFSharp: Nécessite un codage supplémentaire pour l'opacité, les effets de transparence et la gestion des transformations. Bien que puissant, il exige un niveau de personnalisation plus élevé de la part du développeur, y compris l'utilisation du format var pour des tâches de rendu spécifiques.

Compatibilité

  • IronPDF: Entièrement compatible avec .NET 6+, .NET Core, et .NET Framework, le rendant adapté pour les applications modernes et anciennes.
  • PDFSharp: Supporte .NET Framework et .NET Core (via PDFSharpCore), mais peut manquer de certaines fonctionnalités modernes disponibles dans les nouveaux frameworks.

  • Plus intensif en code – Les tâches courantes nécessitent souvent des implémentations plus longues.

  • IronPDF: Un produit commercial nécessitant une licence payante mais incluant des options de licence perpétuelle, du support client et des mises à jour continues.
  • PDFSharp: Open-source et gratuit à utiliser, le rendant une solution économique pour les développeurs qui préfèrent un modèle de licence non restreint mais sont prêts à gérer leur propre support et mises à jour.

Conclusion

Explorez les Meilleures Alternatives pour PDFsharp Ajouter un Filigrane : Figure 7

Pour les développeurs qui ont besoin d'un moyen facile et efficace pour filigraner des PDF, IronPDF est le choix supérieur en raison de son API conviviale et de ses fonctionnalités intégrées. Cependant, si les contraintes budgétaires sont une préoccupation et que vous n'avez pas peur d'écrire du code supplémentaire, PDFSharp est une solide alternative open-source. En fin de compte, le meilleur choix dépend des exigences de votre projet, de votre expertise en codage et des ressources disponibles.

Essayez IronPDF par vous-même en téléchargeant la version d'essai gratuite et en explorant comment il peut amener vos projets PDF C# à un niveau supérieur dès aujourd'hui!

Veuillez noterPDFsharp est une marque déposée de son propriétaire respectif. Ce site n'est affilié, soutenu ni parrainé par PDFsharp. Tous les noms de produits, logos et marques appartiennent à leurs propriétaires respectifs. Les comparaisons sont à des fins d'information uniquement et reflètent les informations disponibles publiquement au moment de la rédaction.

Questions Fréquemment Posées

Comment puis-je ajouter un filigrane à un PDF en utilisant une bibliothèque .NET ?

Vous pouvez ajouter un filigrane à un PDF en utilisant IronPDF grâce à son API simple, qui prend en charge les filigranes texte et image avec des options personnalisables comme l'opacité et la rotation.

Quels sont les avantages d'utiliser une bibliothèque PDF .NET premium pour le filigranage ?

Une bibliothèque PDF .NET premium comme IronPDF offre des fonctions de haut niveau pour un filigranage facile, la compatibilité avec les frameworks .NET modernes, et des fonctionnalités supplémentaires comme les annotations PDF et la conversion HTML en PDF.

Pourquoi le filigranage est-il important dans les documents PDF ?

Le filigranage est important pour la sécurité des documents, le branding et le contrôle de version. Il aide à prévenir la reproduction non autorisée, assure la cohérence de la marque et marque les documents comme confidentiels.

Quelles sont les différences entre IronPDF et PDFsharp dans le filigranage des PDF ?

IronPDF offre une API plus intuitive pour un filigranage facile avec un code minimal, tandis que PDFsharp nécessite plus d'efforts manuels et un codage supplémentaire pour les transformations et les réglages d'opacité.

Comment IronPDF améliore-t-il la manipulation des PDF par rapport aux options open-source ?

IronPDF offre des fonctions de haut niveau intégrées, ce qui facilite les manipulations PDF comme le filigranage, les annotations et les conversions, qui nécessiteraient un codage plus complexe dans des options open-source comme PDFsharp.

Quels types de filigranes peuvent être ajoutés aux PDF en utilisant des bibliothèques .NET ?

Avec des bibliothèques comme IronPDF, vous pouvez ajouter des filigranes texte, des filigranes image et des filigranes transparents, avec des options de personnalisation concernant le positionnement, l'opacité et la rotation.

IronPDF est-il adapté pour gérer de grands documents PDF ?

Oui, IronPDF est optimisé pour un traitement à grande vitesse et peut efficacement gérer de grands documents PDF sans problèmes de performance.

Que devrais-je considérer lors du choix entre une bibliothèque PDF .NET premium et open-source ?

Considérez la facilité d'utilisation, les fonctionnalités disponibles, la compatibilité, la performance et le support. Une bibliothèque premium comme IronPDF offre des fonctionnalités et un support étendus, tandis qu'une bibliothèque open-source comme PDFsharp est gratuite mais nécessite un codage plus complexe et manque de support officiel.

Puis-je utiliser IronPDF avec .NET Core ?

Oui, IronPDF est compatible avec .NET 6+, .NET Core et .NET Framework, ce qui le rend polyvalent pour différents environnements de développement.

Quelles fonctionnalités supplémentaires IronPDF offre-t-il au-delà du filigranage ?

En plus du filigranage, IronPDF prend en charge les annotations PDF, la conversion HTML en PDF, les signatures numériques, et plus encore, offrant des capacités complètes de manipulation des PDF.

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