Praca ze znakami wodnymi

Praca ze znakami wodnymi

Ten przewodnik pokazuje, jak dodawać, konfigurować i usuwać znaki wodne dokumentów w Aspose.Words FOSS dla .NET przy użyciu Watermark klasy, dostępnej przez Document.Watermark. Znak wodny może być tekstem lub obrazem, i tylko jeden znak wodny jest aktywny w dokumencie w danym czasie – ustawienie nowego zastępuje to, co było wcześniej.


Dodawanie tekstowego znaku wodnego

Watermark.SetText(text) dodaje tekstowy znak wodny z domyślnym formatowaniem. Przeciążenie SetText(text, options) przyjmuje instancję TextWatermarkOptions, aby kontrolować jego wygląd: FontFamily, Color i FontSize sterują formatowaniem tekstu, IsSemitrasparent przełącza efekt półprzezroczystości typowy dla znaków wodnych, a Layout (wartość WatermarkLayout – Horizontal lub Diagonal) kontroluje jego orientację względem strony.


Dodawanie obrazu jako znaku wodnego

Watermark.SetImage(image) dodaje znak wodny w postaci obrazu z już wczytanego Image. Przeciążenia, które dodatkowo przyjmują instancję ImageWatermarkOptions – SetImage(image, options), SetImage(imagePath, options) (ładowanie z ścieżki pliku) oraz SetImage(imageStream, options) (ładowanie z Stream) – pozwalają kontrolować Scale (czynnik skalowania obrazu, wyrażony jako ułamek) oraz IsWashout (efekt wyblaknięcia, który zapobiega dominacji obrazu znaku wodnego nad treścią strony).


Sprawdzanie i usuwanie znaku wodnego

Watermark.Type raportuje aktualny rodzaj znaku wodnego jako wartość WatermarkType – Text, Image lub None, jeśli znak wodny nie jest ustawiony. Wywołaj Watermark.Remove(), aby usunąć bieżący znak wodny z dokumentu.


Wskazówki i najlepsze praktyki

  • Sprawdź Watermark.Type przed założeniem, że znak wodny istnieje – zwraca WatermarkType.None w dokumencie, w którym nigdy nie ustawiono znaku wodnego.
  • Ustawienie nowego znaku wodnego za pomocą SetText() lub SetImage() zastępuje istniejący znak wodny; nie ma możliwości posiadania więcej niż jednego aktywnego znaku wodnego jednocześnie.
  • Użyj WatermarkLayout.Diagonal, aby odtworzyć domyślną diagonalną orientację znaku wodnego w Wordzie, lub Horizontal dla znaku wodnego biegnącego równolegle do krawędzi strony.
  • Preferuj przeciążenia ImageWatermarkOptions/TextWatermarkOptions zamiast zwykłych wywołań SetImage(image) / SetText(text), gdy potrzebujesz kontrolować przezroczystość, skalę lub czcionkę – przeciążenia bez parametrów używają domyślnych ustawień Worda.

Typowe problemy

ProblemPrzyczynaRozwiązanie
Nowy znak wodny nie wyświetla się obok staregoSetText()/SetImage() zastępuje istniejący znak wodny zamiast dodać drugiWywołaj Remove() najpierw tylko wtedy, gdy musisz go wyczyścić przed ustawieniem innego rodzaju; w przeciwnym razie zamiana jest automatyczna
Obrazowy znak wodny przytłacza treść stronyImageWatermarkOptions.IsWashout został pozostawiony wyłączonyUstaw IsWashout na true przy konstruowaniu ImageWatermarkOptions
Czcionka tekstowego znaku wodnego nie pasuje do zamierzonego krojuTextWatermarkOptions.FontFamily nie został ustawiony (lub został błędnie zapisany)Ustaw FontFamily na nazwę czcionki dostępną w środowisku renderowania

FAQ

Jak sprawdzić, czy dokument już ma znak wodny?

Odczytaj Document.Watermark.Type; zwraca WatermarkType.Text, WatermarkType.Image lub WatermarkType.None.

Jak usunąć znak wodny?

Wywołaj Document.Watermark.Remove().

Czy mogę kontrolować przezroczystość znaku wodnego?

Tak — dla znaków wodnych tekstowych ustaw TextWatermarkOptions.IsSemitrasparent; dla znaków wodnych graficznych ustaw ImageWatermarkOptions.IsWashout.

Jak załadować znak wodny obrazu z dysku zamiast Image w pamięci?

Użyj przeciążenia Watermark.SetImage(imagePath, options), przekazując ścieżkę do pliku jako ciąg znaków wraz z instancją ImageWatermarkOptions.


API Reference Podsumowanie

Klasa / EnumOpis
WatermarkZnak wodny dokumentu, za pomocą Document.Watermark; SetText(), SetImage(), Remove(), Type
WatermarkTypeEnum identyfikujący bieżący rodzaj znaku wodnego: Text, Image, None
WatermarkLayoutEnum określający orientację znaku wodnego: Horizontal, Diagonal
TextWatermarkOptionsFormatowanie znaków wodnych tekstu: FontFamily, Color, FontSize, IsSemitrasparent, Layout
ImageWatermarkOptionsOpcje znaków wodnych obrazu: Scale, IsWashout

Zobacz także

 Polski