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.Typeprzed założeniem, że znak wodny istnieje – zwracaWatermarkType.Nonew dokumencie, w którym nigdy nie ustawiono znaku wodnego. - Ustawienie nowego znaku wodnego za pomocą
SetText()lubSetImage()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, lubHorizontaldla znaku wodnego biegnącego równolegle do krawędzi strony. - Preferuj przeciążenia
ImageWatermarkOptions/TextWatermarkOptionszamiast 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
| Problem | Przyczyna | Rozwiązanie |
|---|---|---|
| Nowy znak wodny nie wyświetla się obok starego | SetText()/SetImage() zastępuje istniejący znak wodny zamiast dodać drugi | Wywoł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ść strony | ImageWatermarkOptions.IsWashout został pozostawiony wyłączony | Ustaw IsWashout na true przy konstruowaniu ImageWatermarkOptions |
| Czcionka tekstowego znaku wodnego nie pasuje do zamierzonego kroju | TextWatermarkOptions.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 / Enum | Opis |
|---|---|
Watermark | Znak wodny dokumentu, za pomocą Document.Watermark; SetText(), SetImage(), Remove(), Type |
WatermarkType | Enum identyfikujący bieżący rodzaj znaku wodnego: Text, Image, None |
WatermarkLayout | Enum określający orientację znaku wodnego: Horizontal, Diagonal |
TextWatermarkOptions | Formatowanie znaków wodnych tekstu: FontFamily, Color, FontSize, IsSemitrasparent, Layout |
ImageWatermarkOptions | Opcje znaków wodnych obrazu: Scale, IsWashout |