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");
Entdecken Sie die besten Alternativen zu PDFsharp zum Hinzufügen eines Wasserzeichens zu PDFs
Kannapat Udonpant
27. März 2025
Teilen Sie:
Hinzufügen von Wasserzeichen zu PDFs ist eine häufige Anforderung für Dokumentensicherheit, Markenbildung und Versionskontrolle. Ob beim Kennzeichnen von Dokumenten als vertraulich, beim Branding offizieller Berichte oder zur Verhinderung unbefugter Vervielfältigung, das Hinzufügen von Wasserzeichen ist eine wesentliche Funktion.
In C# haben Entwickler mehrere Bibliotheken zur Auswahl, wobei IronPDF und PDFSharp zwei der beliebtesten Optionen sind. Allerdings unterscheiden sich ihre Ansätze, Benutzerfreundlichkeit, Leistung und Lizenzstrukturen erheblich. Dieser Artikel bietet einen detaillierten Vergleich zwischen IronPDF und PDFsharp zur Hinzufügung von Wasserzeichen zu vorhandenen PDFs und bietet Einblicke in ihre Funktionalitäten, Implementierungsprozesse und Anpassungsmöglichkeiten.
Am Ende dieses Artikels werden Sie ein klares Verständnis davon haben, welche Bibliothek am besten zu den Anforderungen Ihres Projekts passt, basierend auf Benutzerfreundlichkeit, Leistung und verfügbaren Funktionen.
Verständnis von PDF-Wasserzeichen
Was ist ein Wasserzeichen?
Ein Wasserzeichen ist eine grafische oder textuelle Überlagerung auf einem Dokument, das als Identifikator, Abschreckung oder Branding-Element dient. Wasserzeichen können je nach Zweck sichtbar oder unsichtbar sein.
Arten von Wasserzeichen
Text-Wasserzeichen – Typischerweise eine halbtransparente Überlagerung mit einer Nachricht wie "VERTRAULICH" oder "ENTWURF".
Bildwasserzeichen – Ein Logo, Emblem oder eine Grafik, die in das Dokument eingebettet ist.
Transparenter Wasserzeichen – Ein dezentes Markenzeichen, das die Lesbarkeit des Dokuments nicht beeinträchtigt.
Gestempeltes Wasserzeichen – Eine auffälligere, fett gedruckte Markierung, die Sichtbarkeit gewährleistet.
Häufige Anwendungsfälle
Sicherheit & Schutz – Verhindern Sie unberechtigte Vervielfältigung, indem Sie Dokumente als proprietär kennzeichnen.
Branding – Fügen Sie Unternehmenslogos oder Unterschriften hinzu, um die Markenkonsistenz in Dokumenten zu gewährleisten.
Versionskontrolle – Entwürfe, Endversionen oder Dokumentüberarbeitungen kennzeichnen.
Überblick über IronPDF und PDFsharp
IronPDF
Defektes Bild Von Pixabay hinzufügen, aus Ihren Dateien auswählen oder ein Bild hierher ziehen.
IronPDF ist eine Premium-.NET-Bibliothek mit umfassenden Funktionen, die die PDF-Verarbeitung optimieren soll. Es ist besonders nützlich für Entwickler, die nach einer einfachen Implementierung von PDF-Bearbeitungsaufgaben suchen, einschließlich Wasserzeichen.
Hauptmerkmale:
Einfache und intuitive API, die minimalen Code erfordert.
Unterstützt Text- und Bild-Wasserzeichen mit Anpassungsoptionen.
Bietet Deckkraftsteuerung, Positionierung und Drehung für präzise Platzierung.
Kompatibel mit .NET 6+, .NET Core und .NET Framework.
Verfügbar mit einem unbefristeten Lizenzmodell für den langfristigen Gebrauch.
Defektes Bild Von Pixabay hinzufügen, aus Ihren Dateien auswählen oder ein Bild hierher ziehen.
PDFsharp ist eine Open-Source-Bibliothek, die es Entwicklern ermöglicht, PDFs in C# zu erstellen, zu bearbeiten und zu manipulieren. Während es sehr flexibel ist, erfordert das Wasserzeichen mehr manuellen Aufwand im Vergleich zu IronPDF.
Hauptmerkmale:
Kostenlos und quelloffen, was es für kostenbewusste Projekte kosteneffektiv macht.
Bietet eine niedrige Steuerung über PDF-Zeichenoperationen, einschließlich sowohl umrissener als auch transparenter grafischer Pfade.
Unterstützt sowohl Text- als auch Bildwasserzeichen, erfordert jedoch zusätzlichen Code für Transformationen.
Funktioniert mit .NET Framework und .NET Core (über PDFSharpCore).
Fehlt integrierte hochgradige Wasserzeichenfunktionen, was von Entwicklern erfordert, Funktionen wie Opazität und Drehung manuell zu implementieren.
Ein Wasserzeichen mit IronPDF hinzufügen
IronPDF bietet eine einfache API, die es Entwicklern ermöglicht, Wasserzeichen effizient mit nur wenigen Codezeilen anzuwenden, wodurch es einfach wird, Ihre PDF-Wasserzeichenaufgaben effizient zu rationalisieren, ohne komplexe oder manuelle Einrichtungen. Das Wasserzeichen-Tool von IronPDF kann HTML/CSS-Strings für das Wasserzeichen verwenden, wie Sie unten sehen werden, und Ihnen die volle Kontrolle darüber geben, wie Ihr Wasserzeichen erscheinen wird.
Beispiel für Text-Wasserzeichen
using IronPdf;
const string filename = "existing.pdf";
PdfDocument pdf = PdfDocument.FromFile(filename);
string watermark = "<h1 style='color:red'>Confidential!</h1>";
pdf.ApplyWatermark(watermark);
pdf.SaveAs("watermarked.pdf");
using IronPdf;
const string filename = "existing.pdf";
PdfDocument pdf = PdfDocument.FromFile(filename);
string watermark = "<h1 style='color:red'>Confidential!</h1>";
pdf.ApplyWatermark(watermark);
pdf.SaveAs("watermarked.pdf");
Imports IronPdf
Private Const filename As String = "existing.pdf"
Private pdf As PdfDocument = PdfDocument.FromFile(filename)
Private watermark As String = "<h1 style='color:red'>Confidential!</h1>"
pdf.ApplyWatermark(watermark)
pdf.SaveAs("watermarked.pdf")
$vbLabelText $csharpLabel
In diesem Codebeispiel sehen wir, wie einfach es ist, mit IronPDF ein Wasserzeichen zu Ihren bestehenden PDF-Dateien hinzuzufügen. Hier haben wir die bestehende PDF mit der FromFile-Methode geladen. Dann erstellen wir ein einfaches Wasserzeichen im String-Format und wenden es mithilfe von ApplyWatermark auf das PDF an. Wie Sie im Ausgabebild sehen können, wurde der einfache Text "Vertraulich" als Wasserzeichen auf unser PDF hinzugefügt.
Bild-Wasserzeichen-Beispiel
using IronPdf;
PdfDocument pdf = PdfDocument.FromFile("existing.pdf");
string watermark = "<img src='https://ironsoftware.com/img/products/ironpdf-logo-text-dotnet.svg'>";
pdf.ApplyWatermark(watermark, rotation: 45, opacity: 80);
pdf.SaveAs("watermarked.pdf");
using IronPdf;
PdfDocument pdf = PdfDocument.FromFile("existing.pdf");
string watermark = "<img src='https://ironsoftware.com/img/products/ironpdf-logo-text-dotnet.svg'>";
pdf.ApplyWatermark(watermark, rotation: 45, opacity: 80);
pdf.SaveAs("watermarked.pdf");
Imports IronPdf
Private pdf As PdfDocument = PdfDocument.FromFile("existing.pdf")
Private watermark As String = "<img src='https://ironsoftware.com/img/products/ironpdf-logo-text-dotnet.svg'>"
pdf.ApplyWatermark(watermark, rotation:= 45, opacity:= 80)
pdf.SaveAs("watermarked.pdf")
$vbLabelText $csharpLabel
Ein Bild als Wasserzeichen hinzuzufügen ist genauso einfach wie das Hinzufügen von Text, da beide dieselbe Methode verwenden. Ähnlich wie im Textbeispiel erstellen wir einfach eine neue Wasserzeichen-String-Variable, die den Inhalt enthält, den wir als Wasserzeichen verwenden möchten (in diesem Fall unser Bild), und wenden es wie zuvor an. Dieses Mal haben wir eine angepasste Rotationsumwandlung und Deckkraft hinzugefügt.
Dieser Ansatz legt ein Bildwasserzeichen an einer bestimmten Position über, sodass eine individuelle Platzierung und Transparenz ermöglicht wird.
Hinzufügen eines Wasserzeichens mit PDFsharp
PDFsharp erfordert, dass Entwickler Text und Bilder manuell mit seiner GDI+-Zeichen-API rendern. Um eine bestehende PDF-Datei mit einem Wasserzeichen zu versehen, erstellen Sie ein XGraphics-Objekt zum Zeichnen und wenden Sie den gewünschten Inhalt an.
Beispiel für Text-Wasserzeichen
using PdfSharp.Pdf;
using PdfSharp.Drawing;
using PdfSharp.Pdf.IO;
const string filename = "existing.pdf";
var document = PdfReader.Open(filename, PdfDocumentOpenMode.Modify);
foreach (var page in document.Pages)
{
var gfx = XGraphics.FromPdfPage(page); // get an XGraphics object
gfx.TranslateTransform(page.Width / 2, page.Height / 2);
gfx.RotateTransform(Math.Atan(page.Height / page.Width)); // Rotate for diagonal watermark
var font = new XFont("Arial", 40);
var brush = new XSolidBrush(XColor.FromArgb(128, XColors.Red));
gfx.DrawString("WATERMARK", font, brush, new XPoint(0, 0)); // Drawing beneath the existing content
}
document.Save("watermarked.pdf");
using PdfSharp.Pdf;
using PdfSharp.Drawing;
using PdfSharp.Pdf.IO;
const string filename = "existing.pdf";
var document = PdfReader.Open(filename, PdfDocumentOpenMode.Modify);
foreach (var page in document.Pages)
{
var gfx = XGraphics.FromPdfPage(page); // get an XGraphics object
gfx.TranslateTransform(page.Width / 2, page.Height / 2);
gfx.RotateTransform(Math.Atan(page.Height / page.Width)); // Rotate for diagonal watermark
var font = new XFont("Arial", 40);
var brush = new XSolidBrush(XColor.FromArgb(128, XColors.Red));
gfx.DrawString("WATERMARK", font, brush, new XPoint(0, 0)); // Drawing beneath the existing content
}
document.Save("watermarked.pdf");
Imports PdfSharp.Pdf
Imports PdfSharp.Drawing
Imports PdfSharp.Pdf.IO
Private Const filename As String = "existing.pdf"
Private document = PdfReader.Open(filename, PdfDocumentOpenMode.Modify)
For Each page In document.Pages
Dim gfx = XGraphics.FromPdfPage(page) ' get an XGraphics object
gfx.TranslateTransform(page.Width \ 2, page.Height \ 2)
gfx.RotateTransform(Math.Atan(page.Height \ page.Width)) ' Rotate for diagonal watermark
Dim font = New XFont("Arial", 40)
Dim brush = New XSolidBrush(XColor.FromArgb(128, XColors.Red))
gfx.DrawString("WATERMARK", font, brush, New XPoint(0, 0)) ' Drawing beneath the existing content
Next page
document.Save("watermarked.pdf")
$vbLabelText $csharpLabel
Defektes Bild Von Pixabay hinzufügen, aus Ihren Dateien auswählen oder ein Bild hierher ziehen.
Diese Implementierung zeichnet manuell ein Wasserzeichen auf jede Seite, was eine genaue Positionierung und Anpassung erfordert. Obwohl PDFsharp in der Lage ist, die Aufgabe mit einem ähnlichen Ergebnis wie im IronPDF-Beispiel zu bewältigen, erfordert es mehr Code und eine komplexere Methode, um Textwasserzeichen auf vorhandene Inhalte oder neue PDF-Dateien anzuwenden.
Bild-Wasserzeichen-Beispiel
using PdfSharp.Pdf;
using PdfSharp.Drawing;
var document = PdfReader.Open("sample.pdf", PdfDocumentOpenMode.Modify);
XImage watermark = XImage.FromFile("watermark.png");
foreach (var page in document.Pages)
{
XGraphics gfx = XGraphics.FromPdfPage(page);
gfx.DrawImage(watermark, 50, 100, watermark.PixelWidth / 2, watermark.PixelHeight / 2);
}
document.Save("watermarked.pdf");
using PdfSharp.Pdf;
using PdfSharp.Drawing;
var document = PdfReader.Open("sample.pdf", PdfDocumentOpenMode.Modify);
XImage watermark = XImage.FromFile("watermark.png");
foreach (var page in document.Pages)
{
XGraphics gfx = XGraphics.FromPdfPage(page);
gfx.DrawImage(watermark, 50, 100, watermark.PixelWidth / 2, watermark.PixelHeight / 2);
}
document.Save("watermarked.pdf");
Imports PdfSharp.Pdf
Imports PdfSharp.Drawing
Private document = PdfReader.Open("sample.pdf", PdfDocumentOpenMode.Modify)
Private watermark As XImage = XImage.FromFile("watermark.png")
For Each page In document.Pages
Dim gfx As XGraphics = XGraphics.FromPdfPage(page)
'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
document.Save("watermarked.pdf")
$vbLabelText $csharpLabel
Diese Methode platziert ein Bild-Wasserzeichen, aber im Gegensatz zu IronPDF muss die Deckkraft separat behandelt werden. Ähnlich wie beim Beispiel mit dem Textwasserzeichen erfordert das Anwenden eines bildbasierten Wasserzeichens auf ein vorhandenes PDF mit PDFsharp eine aufwendigere, komplexere Einrichtung im Vergleich zur optimierten Wasserzeichen-API von IronPDF.
Vergleich von IronPDF und PDFsharp für Wasserzeichen
Benutzerfreundlichkeit
IronPDF: Bietet hochgradige Funktionen, die das Wasserzeichen mit minimalem Code vereinfachen. Es abstrahiert komplexe Vorgänge und ist ideal für Entwickler, die eine schnelle und effiziente Lösung benötigen.
PDFSharp: Erfordert eine manuelle Implementierung mithilfe der Graphics-API, was die Komplexität und die Entwicklungszeit erhöht. Es ist besser geeignet für Entwickler, die eine feinkörnige Kontrolle über das Rendering benötigen, aber mit zusätzlichem Programmieraufwand vertraut sind.
Leistung
IronPDF: Optimiert für die schnelle PDF-Verarbeitung, fähig, große Dokumente effizient zu verarbeiten, ohne erhebliche Leistungseinbußen.
PDFSharp: Obwohl es leichtgewichtig ist, können zusätzliche Optimierungen für die Verarbeitung großer PDFs erforderlich sein. Komplexe Wasserzeichen-Aufgaben mit mehreren Transformationen können zu einer langsameren Leistung im Vergleich zu IronPDF führen.
Anpassungsoptionen
IronPDF: Eingebaute Unterstützung für Deckkraft, Rotation, Positionierung und Anpassung der Schriftgröße. Benutzer können Einstellungen leicht anpassen, ohne sich mit komplexer Renderinglogik auseinandersetzen zu müssen.
PDFSharp: Erfordert zusätzliches Coding für Deckkraft, Transparenzeffekte und Transformationsbehandlung. Während es leistungsstark ist, erfordert es vom Entwickler ein höheres Maß an Anpassung, einschließlich der Verwendung des var-Formats für bestimmte Rendering-Aufgaben.
Kompatibilität
IronPDF: Vollständig kompatibel mit .NET 6+, .NET Core und .NET Framework, wodurch es sowohl für moderne als auch ältere Anwendungen geeignet ist.
PDFSharp: Unterstützt .NET Framework und .NET Core (über PDFSharpCore), könnte jedoch bestimmte moderne Funktionen, die in neueren Frameworks verfügbar sind, vermissen lassen.
Lizenzierung und Kosten
IronPDF: Ein kommerzielles Produkt, das eine bezahlte Lizenz erfordert, jedoch Optionen für unbefristete Lizenzen, Kundensupport und kontinuierliche Updates beinhaltet.
PDFSharp: Open-Source und kostenlos nutzbar, wodurch es eine kostengünstige Lösung für Entwickler darstellt, die ein uneingeschränktes Lizenzmodell bevorzugen, aber bereit sind, ihren eigenen Support und ihre Updates zu übernehmen.
Schlussfolgerung
Für Entwickler, die eine einfache und effiziente Möglichkeit benötigen, PDFs mit Wasserzeichen zu versehen, ist IronPDF die überlegene Wahl aufgrund seiner benutzerfreundlichen API und integrierten Funktionen. Wenn Budgetbeschränkungen ein Thema sind und es Ihnen nichts ausmacht, zusätzlichen Code zu schreiben, ist PDFSharp eine solide Open-Source-Alternative. Letztendlich hängt die beste Wahl von Ihren Projektanforderungen, Ihrer Programmierkenntnis und den verfügbaren Ressourcen ab.
🚀Probieren Sie IronPDF selbst aus, indem Sie die kostenlose Testversion herunterladen und herausfinden, wie es Ihre C#-PDF-Projekte auf die nächste Stufe heben kann!
Bevor er Software-Ingenieur wurde, promovierte Kannapat an der Universität Hokkaido in Japan im Bereich Umweltressourcen. Während seines Studiums wurde Kannapat auch Mitglied des Vehicle Robotics Laboratory, das Teil der Abteilung für Bioproduktionstechnik ist. Im Jahr 2022 wechselte er mit seinen C#-Kenntnissen zum Engineering-Team von Iron Software, wo er sich auf IronPDF konzentriert. Kannapat schätzt an seiner Arbeit, dass er direkt von dem Entwickler lernt, der den Großteil des in IronPDF verwendeten Codes schreibt. Neben dem kollegialen Lernen genießt Kannapat auch den sozialen Aspekt der Arbeit bei Iron Software. Wenn er nicht gerade Code oder Dokumentationen schreibt, kann man Kannapat normalerweise beim Spielen auf seiner PS5 oder beim Wiedersehen mit The Last of Us antreffen.
< PREVIOUS Entdecken Sie die besten Alternativen für Wasserzeichen mit QuestPDF in .NET
NÄCHSTES > Entdecken Sie die besten Alternativen zum Hinzufügen von Bildern zu PDFs in .NET