Arbeiten mit Wasserzeichen
Arbeiten mit Wasserzeichen
Dieser Leitfaden zeigt, wie man Dokumenten-Wasserzeichen hinzufügt, konfiguriert und entfernt in Aspose.Words FOSS für .NET unter Verwendung der Watermark Klasse, erreicht über Document.Watermark. Ein Wasserzeichen kann Text oder ein Bild sein, und nur ein Wasserzeichen ist gleichzeitig in einem Dokument aktiv – das Setzen eines neuen ersetzt das vorherige.
Hinzufügen eines Textwasserzeichens
Watermark.SetText(text) fügt ein Textwasserzeichen mit Standardformatierung hinzu. Die SetText(text, options)-Überladung nimmt eine TextWatermarkOptions-Instanz entgegen, um das Erscheinungsbild zu steuern: FontFamily, Color und FontSize steuern die Textformatierung, IsSemitrasparent schaltet den halbtransparenten Effekt um, der für Wasserzeichen typisch ist, und Layout (ein WatermarkLayout-Wert – Horizontal oder Diagonal) steuert seine Ausrichtung relativ zur Seite.
Hinzufügen eines Bildwasserzeichens
Watermark.SetImage(image) fügt ein Bildwasserzeichen aus einem bereits geladenen Image hinzu. Überladungen, die ebenfalls eine ImageWatermarkOptions-Instanz übernehmen – SetImage(image, options), SetImage(imagePath, options) (Laden aus einem Dateipfad) und SetImage(imageStream, options) (Laden aus einem Stream) – ermöglichen die Steuerung von Scale (dem Skalierungsfaktor des Bildes, ausgedrückt als Bruch) und IsWashout (dem ausgewaschenen Effekt, der verhindert, dass ein Wasserzeichenbild den Seiteninhalt überlagert).
Überprüfen und Entfernen eines Wasserzeichens
Watermark.Type meldet die aktuelle Art des Wasserzeichens als einen WatermarkType Wert – Text, Image oder None, wenn kein Wasserzeichen gesetzt ist. Rufen Sie Watermark.Remove() auf, um das aktuelle Wasserzeichen aus dem Dokument zu entfernen.
Tipps und bewährte Verfahren
- Überprüfen Sie
Watermark.Type, bevor Sie davon ausgehen, dass ein Wasserzeichen existiert – es gibtWatermarkType.Nonezurück bei einem Dokument, das nie eines gesetzt hat. - Das Festlegen eines neuen Wasserzeichens über
SetText()oderSetImage()ersetzt jedes vorhandene Wasserzeichen; es gibt keine Möglichkeit, mehr als ein aktives Wasserzeichen gleichzeitig zu haben. - Verwenden Sie
WatermarkLayout.Diagonal, um die standardmäßige diagonale Wasserzeichenorientierung von Word nachzubilden, oderHorizontalfür ein Wasserzeichen, das parallel zu den Seitenrändern verläuft. - Bevorzugen Sie die
ImageWatermarkOptions/TextWatermarkOptions-Überladungen gegenüber den einfachenSetImage(image)/SetText(text)-Aufrufen, wann immer Sie Deckkraft, Skalierung oder Schriftart steuern müssen – die parameterlosen Überladungen verwenden die Standardwerte von Word.
Häufige Probleme
| Problem | Ursache | Lösung |
|---|---|---|
| Ein neues Wasserzeichen wird nicht neben dem alten angezeigt. | SetText()/SetImage() ersetzt das vorhandene Wasserzeichen, anstatt ein zweites hinzuzufügen. | Rufen Sie Remove() zuerst nur auf, wenn Sie es löschen müssen, bevor Sie eine andere Art festlegen; andernfalls erfolgt der Ersatz automatisch. |
| Ein Bildwasserzeichen überlagert den Seiteninhalt. | ImageWatermarkOptions.IsWashout wurde deaktiviert gelassen. | Setzen Sie IsWashout auf true, wenn Sie das ImageWatermarkOptions erstellen. |
| Die Schriftart des Textwasserzeichens stimmt nicht mit der gewünschten Schrift überein. | TextWatermarkOptions.FontFamily wurde nicht gesetzt (oder war falsch geschrieben). | Setze FontFamily auf einen im Rendering-Umfeld verfügbaren Schriftartnamen |
FAQ
Wie prüfe ich, ob ein Dokument bereits ein Wasserzeichen hat?
Lese Document.Watermark.Type; es gibt WatermarkType.Text, WatermarkType.Image oder WatermarkType.None zurück.
Wie entferne ich ein Wasserzeichen?
Rufe Document.Watermark.Remove() auf.
Kann ich die Transparenz des Wasserzeichens steuern?
Ja – für Textwasserzeichen setze TextWatermarkOptions.IsSemitrasparent; für Bildwasserzeichen setze ImageWatermarkOptions.IsWashout.
Wie lade ich ein Bildwasserzeichen von der Festplatte statt eines im Speicher befindlichen Image?
Verwende die Watermark.SetImage(imagePath, options)-Überladung und übergebe den Dateipfad als Zeichenkette zusammen mit einer ImageWatermarkOptions-Instanz.
API Reference Zusammenfassung
| Klasse / Enum | Beschreibung |
|---|---|
Watermark | Dokumenten-Wasserzeichen, über Document.Watermark; SetText(), SetImage(), Remove(), Type |
WatermarkType | Enum, das die aktuelle Wasserzeichenart identifiziert: Text, Image, None |
WatermarkLayout | Enum für die Wasserzeichenorientierung: Horizontal, Diagonal |
TextWatermarkOptions | Text-Wasserzeichen-Formatierung: FontFamily, Color, FontSize, IsSemitrasparent, Layout |
ImageWatermarkOptions | Bildwasserzeichen-Optionen: Scale, IsWashout |