Czym są znaki wodne i dlaczego ich potrzebujesz
Pomyśl o znakach wodnych jak o niewidocznych imiennych etykietach na twoich plikach. Podobnie jak umieszczanie swojego imienia na pudełku z lunchem w szkole, znaki wodne pomagają innym zidentyfikować, kto jest właścicielem dokumentu lub zdjęcia.
Kiedy potrzebujesz znaków wodnych:
- Fotografowie: Umieszczaj swoje imię na zdjęciach przed prezentacją klientom
- Małe firmy: Oznaczaj dokumenty jako “POUFNE” lub dodaj swoje logo
- Uczniowie i nauczyciele: Chroń swoją pracę przed kopiowaniem
- Każdy, kto dzieli się plikami: Pokaż własność i zapobiegaj kradzieży
Dlaczego ten przewodnik jest idealny dla początkujących: Pokażemy Ci znaki wodne powtarzające się - są to znaki wodne, które powtarzają się na całym dokumencie jak tapeta. Są znacznie trudniejsze do usunięcia niż pojedyncze znaki wodne.
Zanim zaczniemy: Łatwa konfiguracja
Zainstaluj narzędzie do znaków wodnych (Super łatwo!)
Pomyśl o tym jak o pobieraniu aplikacji. Potrzebujemy specjalnego narzędzia Pythona o nazwie GroupDocs.Watermark, które wykonuje całą ciężką pracę za nas.
Prosta instalacja: Otwórz swój wiersz poleceń (to czarne okno) i wpisz:
pip install groupdocs-watermark-net
Naciśnij Enter i czekaj. Gotowe! Narzędzie jest teraz gotowe do użycia.
Co właśnie zainstalowałeś:
- Biblioteka do cyfrowego znakowania: Narzędzia zabezpieczające na poziomie profesjonalnym
- Wodny znak w wielu formatach dokumentów: Działa z PDF-ami, obrazami, dokumentami Word i innymi
- Dostosowywalne rozwiązanie do znakowania: Ty kontrolujesz, jak to wygląda
7 profesjonalnych szablonów znaków wodnych: Od podstawowej ochrony po maksymalne bezpieczeństwo
Przykład 1: Podstawowy tekstowy znak wodny “POUFNE” (Idealny dla początkujących)
Idealny dla: Właścicieli firm, którzy potrzebują chronić wrażliwe dokumenty
Zacznijmy od czegoś prostego - dodawania pieczęci “POUFNE” na twoich ważnych plikach. Tworzy to profesjonalny wzór przypominający cegły, który wyraźnie pokazuje, że dokument jest wrażliwy.
import groupdocs.watermark as gw
import groupdocs.watermark.watermarks as gww
def run():
# Zaktualizuj ścieżkę do swoich plików
document_path = "business_report.pdf"
output_document_path = "confidential_business_report.pdf"
with gw.Watermarker(document_path) as watermarker:
font = gww.Font('Arial', 14.0)
watermark = gww.TextWatermark(f'POUFNE', font)
watermark.foreground_color = gww.Color.red
watermark.opacity = 0.5
watermark.text_alignment = gww.TextAlignment.CENTER
tile_options = gww.TileOptions()
tile_options.tile_type = gww.TileType.OFFSET
watermark.tile_options = tile_options
watermarker.add(watermark)
watermarker.save(output_document_path)
print(f"\n✅ Znak wodny 'POUFNE' został dodany pomyślnie!")
print(f"Chroniony plik zapisano jako: {output_document_path}")
protect_business_documents()
Wynik:
Co się wydarzyło?
- Otworzyliśmy twój PDF
- Stworzyliśmy czerwony tekst “POUFNE” w czcionce Arial
- Sprawiliśmy, że powtarza się na twoim dokumencie w wzorze cegły (typ OFFSET)
- Zapisaliśmy go jako nowy chroniony plik
Dlaczego to działa świetnie:
- Wzór cegły wygląda profesjonalnie
- “POUFNE” jest wyraźne, ale nie zasłania twojego tekstu
- Każdy, kto go zobaczy, wie, że to wrażliwe informacje
Przykład 2: Diagonalny znak wodny “WERSJA ROBOCZA” (Do profesjonalnych prezentacji)
Idealny dla: Każdego, kto tworzy prezentacje, raporty lub materiały potrzebujące wyraźnego oznaczenia statusu
Ten diagonalny znak wodny “WERSJA ROBOCZA” zapewnia doskonałą ochronę dokumentów, zachowując jednocześnie czytelność. Kąt 45 stopni i niestandardowe odstępy sprawiają, że jest idealny do dokumentów roboczych i prezentacji.
import groupdocs.watermark as gw
import groupdocs.watermark.watermarks as gww
def run():
# Zaktualizuj ścieżkę do swoich plików
document_path = "sample.pdf"
output_document_path = "sample_with_watermark.pdf"
with gw.Watermarker(document_path) as watermarker:
font = gww.Font('Arial', 30.0)
watermark = gww.TextWatermark(f'WERSJA ROBOCZA', font)
watermark.foreground_color = gww.Color.red
watermark.opacity = 0.5
watermark.rotate_angle = -45.0
watermark.text_alignment = gww.TextAlignment.CENTER
line_spacing = gww.MeasureValue()
line_spacing.measure_type = gww.TileMeasureType.PERCENT
line_spacing.value = 12.0
watermark_spacing = gww.MeasureValue()
watermark_spacing.measure_type = gww.TileMeasureType.PERCENT
watermark_spacing.value = 10.0
tile_options = gww.TileOptions()
tile_options.tile_type = gww.TileType.STRAIGHT
tile_options.line_spacing = line_spacing
tile_options.watermark_spacing = watermark_spacing
watermark.tile_options = tile_options
watermarker.add(watermark)
watermarker.save(output_document_path)
print(f"\n✅ Znak wodny 'WERSJA ROBOCZA' został dodany pomyślnie!")
print(f"Chroniony plik zapisano jako: {output_document_path}")
run()
Wynik:
Dlaczego to jest idealne do prezentacji:
- Duży, wyraźny tekst “WERSJA ROBOCZA” zapobiega nieporozumieniom
- Diagonalny wzór wygląda profesjonalnie
- Niestandardowe odstępy zapewniają czytelność
- Idealny do kontroli wersji i przepływu dokumentów
Przykład 3: Wzór maksymalnego bezpieczeństwa (Dla super wrażliwych dokumentów)
Idealny dla: Dokumentów prawnych, badań zastrzeżonych, prac akademickich i jakiejkolwiek treści wymagającej maksymalnego bezpieczeństwa
To gęste podejście siatkowe zapewnia najwyższy poziom ochrony dokumentów, tworząc ciasny wzór z identyfikacją użytkownika, śledzeniem plików i tekstem zastrzeżonym. Idealne dla zaawansowanego śledzenia i maksymalnego bezpieczeństwa.
import groupdocs.watermark as gw
import groupdocs.watermark.watermarks as gww
def run():
# Zaktualizuj ścieżkę do swoich plików
document_path = "sample.pdf"
output_document_path = "sample_with_watermark.pdf"
# Dostosuj je do swoich potrzeb
USER_EMAIL = 'useremail@mail.com'
FILE_ID = '1234-4a04-935f-3c83c3079a47'
DISCLAIMER = 'Poufne - Nie rozdzielać - Podlega NDA'
with gw.Watermarker(document_path) as watermarker:
font = gww.Font('Arial', 10.0)
watermark = gww.TextWatermark(f'{USER_EMAIL}\n{FILE_ID}\n{DISCLAIMER}', font)
watermark.foreground_color = gww.Color.gray
watermark.opacity = 0.4
watermark.rotate_angle = -45.0
watermark.text_alignment = gww.TextAlignment.CENTER
line_spacing = gww.MeasureValue()
line_spacing.measure_type = gww.TileMeasureType.PERCENT
line_spacing.value = 5.0
watermark_spacing = gww.MeasureValue()
watermark_spacing.measure_type = gww.TileMeasureType.PERCENT
watermark_spacing.value = 3.0
tile_options = gww.TileOptions()
tile_options.tile_type = gww.TileType.STRAIGHT
tile_options.line_spacing = line_spacing
tile_options.watermark_spacing = watermark_spacing
watermark.tile_options = tile_options
watermarker.add(watermark)
watermarker.save(output_document_path)
print(f"\n✅ Znak wodny maksymalnego bezpieczeństwa zastosowany!")
print(f"Ultra zabezpieczony dokument zapisano jako: {output_document_path}")
run()
Wynik:
Cechy maksymalnego bezpieczeństwa:
- Wielowierszowy znak wodny z identyfikacją użytkownika
- Unikalny identyfikator pliku do śledzenia
- Tekst zastrzeżony
- Gęstość 3-5% zapobiega usunięciu
- Idealny dla treści wysoce wrażliwych
Przykład 4: Znak wodny logo firmy (Dla profesjonalnej ochrony marki)
Idealny dla: Małych firm, które chcą oznakować swoje dokumenty i chronić swoje materiały
To umieszcza Twoje logo firmy na certyfikatach, prezentacjach i oficjalnych dokumentach. Powtarzające się logo sprawia, że nieautoryzowane użycie jest natychmiast rozpoznawalne, zachowując jednocześnie profesjonalny wygląd.
import groupdocs.watermark as gw
import groupdocs.watermark.watermarks as gww
def run():
# Zaktualizuj ścieżkę do swoich plików
document_path = "sample.pdf"
output_document_path = "sample_with_watermark.pdf"
with gw.Watermarker(document_path) as watermarker:
# Zaktualizuj ścieżkę do swojego obrazu logo
watermark = gww.ImageWatermark("logo.png")
watermark.opacity = 0.4
watermark.rotate_angle = -45.0
watermark.width = 90.0
watermark.height = 50.0
line_spacing = gww.MeasureValue()
line_spacing.measure_type = gww.TileMeasureType.PERCENT
line_spacing.value = 5.0
watermark_spacing = gww.MeasureValue()
watermark_spacing.measure_type = gww.TileMeasureType.PERCENT
watermark_spacing.value = 3.0
tile_options = gww.TileOptions()
tile_options.tile_type = gww.TileType.STRAIGHT
tile_options.line_spacing = line_spacing
tile_options.watermark_spacing = watermark_spacing
watermark.tile_options = tile_options
watermarker.add(watermark)
watermarker.save(output_document_path)
print(f"\n✅ Znak wodny logo firmy dodany!")
print(f"Znakowany dokument zapisano jako: {output_document_path}")
run()
Wynik:
Pro tip: Używaj plików PNG z przezroczystym tłem, aby uzyskać najlepsze rezultaty!
Inteligentne oznaczanie: Każdy dokument automatycznie promuje Twoją firmę, jednocześnie pozostając chroniony!
Przykład 5: Ochrona fotografii dla mediów społecznościowych (Idealne dla fotografów)
Idealne dla: Fotografów, artystów, każdego dzielącego się zdjęciami online - zwłaszcza dla Instagramu i mediów społecznościowych
To chroni twoje zdjęcia, jednocześnie promując twoje media społecznościowe. Gdy ludzie dzielą się twoimi zdjęciami, automatycznie promują twoją stronę na Instagramie! Idealne dla fotografów weselnych, artystów portretowych i twórców treści.
import groupdocs.watermark as gw
import groupdocs.watermark.watermarks as gww
def run():
# Zaktualizuj ścieżkę do swoich plików zdjęciowych
document_path = "sample.png" # Działa z JPG, PNG itd.
output_document_path = "sample_with_watermark.png"
with gw.Watermarker(document_path) as watermarker:
font = gww.Font("Arial", 10.0)
# Zmień to na swoją rzeczywistą nazwę użytkownika na Instagramie!
your_handle = "@twoja_strona_fotograficzna"
watermark = gww.TextWatermark(your_handle, font)
watermark.foreground_color = gww.Color.gray
watermark.opacity = 0.5
watermark.rotate_angle = -45.0
line_spacing = gww.MeasureValue()
line_spacing.measure_type = gww.TileMeasureType.PERCENT
line_spacing.value = 12.0
watermark_spacing = gww.MeasureValue()
watermark_spacing.measure_type = gww.TileMeasureType.PERCENT
watermark_spacing.value = 10.0
tile_options = gww.TileOptions()
tile_options.tile_type = gww.TileType.OFFSET
tile_options.line_spacing = line_spacing
tile_options.watermark_spacing = watermark_spacing
watermark.tile_options = tile_options
watermarker.add(watermark)
watermarker.save(output_document_path)
print(f"\n✅ Zdjęcie chronione na media społecznościowe!")
print(f"Chronione zdjęcie zapisano jako: {output_document_path}")
run()
Wynik:
Inteligentny marketing: Gdy ludzie dzielą się twoimi zdjęciami, automatycznie promują twoje media społecznościowe i przyciągają nowych klientów!
Korzyści dla biznesu fotograficznego:
- Zapobiegaj nieautoryzowanemu użyciu i dystrybucji
- Bezpłatny marketing poprzez znaki wodne w mediach społecznościowych
- Profesjonalne testowanie i ochrona podglądu z klientami
- Utrzymuj estetykę zdjęć, zapewniając jednocześnie ochronę
Przykład 6: Premium wzór “koszykowego splotu” bezpieczeństwa (Dla dokumentów o wysokiej wartości)
Idealne dla: Ważnych certyfikatów, wartościowych dokumentów, treści premium wymagającej zaawansowanej ochrony
Tworzy to elegancki wzór “koszykowego splotu”, który jest niezwykle trudny do usunięcia i wygląda wyjątkowo profesjonalnie. Wzór BASKET_WEAVE tworzy wzór wzajemnie przeplatający się, który jest niemal niemożliwy do edytowania w czysty sposób.
import groupdocs.watermark as gw
import groupdocs.watermark.watermarks as gww
def run():
# Zaktualizuj ścieżkę do swoich premium dokumentów
document_path = "sample.pdf"
output_document_path = "sample_with_watermark.pdf"
with gw.Watermarker(document_path) as watermarker:
font = gww.Font('Arial', 10.0)
watermark = gww.TextWatermark(f'POUFNE', font)
watermark.foreground_color = gww.Color.red
watermark.opacity = 0.5
watermark.rotate_angle = -45.0
watermark.text_alignment = gww.TextAlignment.CENTER
line_spacing = gww.MeasureValue()
line_spacing.measure_type = gww.TileMeasureType.PERCENT
line_spacing.value = 12.0
watermark_spacing = gww.MeasureValue()
watermark_spacing.measure_type = gww.TileMeasureType.PERCENT
watermark_spacing.value = 10.0
tile_options = gww.TileOptions()
tile_options.tile_type = gww.TileType.BASKET_WEAVE # Premium wzór!
tile_options.line_spacing = line_spacing
tile_options.watermark_spacing = watermark_spacing
watermark.tile_options = tile_options
watermarker.add(watermark)
watermarker.save(output_document_path)
print(f"\n✅ Zastosowano ochronę premium z wzorem 'koszykowego splotu'!")
print(f"Zabezpieczony dokument zapisano jako: {output_document_path}")
run()
Wynik:
Dlaczego wzór “koszykowego splotu” jest świetny: Tworzy wzór wzajemnie przeplatający się, który jest niemal niemożliwy do edytowania bez zrujnowania dokumentu. To ochrona na najwyższym poziomie!
Przykład 7: Ostateczna ochrona podwójna (Maksymalne bezpieczeństwo)
Idealne dla: Niezwykle ważnych dokumentów, wartościowej własności intelektualnej, gdy potrzebujesz absolutnie maksymalnego bezpieczeństwa
To łączy znaki wodne tekstowe i obrazowe z różnymi wzorami dla ostatecznej ochrony. Dwie różne warstwy znaków wodnych = super silna ochrona, która jest niezwykle trudna do obejścia!
import groupdocs.watermark as gw
import groupdocs.watermark.watermarks as gww
def get_text_watermark(text: str) -> gww.TextWatermark:
font = gww.Font('Arial', 10.0)
watermark = gww.TextWatermark(text, font)
watermark.foreground_color = gww.Color.red
watermark.opacity = 0.5
watermark.rotate_angle = -45.0
watermark.text_alignment = gww.TextAlignment.CENTER
watermark.tile_options = create_tile_options(12.0, 10.0, gww.TileType.STRAIGHT)
return watermark
def get_image_watermark(image_path: str) -> gww.ImageWatermark:
watermark = gww.ImageWatermark(image_path)
watermark.width = 60.0
watermark.height = 40.0
watermark.opacity = 0.4
watermark.rotate_angle = -45.0
watermark.tile_options = create_tile_options(15.0, 9.0, gww.TileType.OFFSET)
return watermark
def create_tile_options(line_spacing_val: float,
watermark_spacing_val: float, tile_type: gww.TileType) -> gww.TileOptions:
line_spacing = gww.MeasureValue()
line_spacing.measure_type = gww.TileMeasureType.PERCENT
line_spacing.value = line_spacing_val
watermark_spacing = gww.MeasureValue()
watermark_spacing.measure_type = gww.TileMeasureType.PERCENT
watermark_spacing.value = watermark_spacing_val
tile_options = gww.TileOptions()
tile_options.tile_type = tile_type
tile_options.line_spacing = line_spacing
tile_options.watermark_spacing = watermark_spacing
return tile_options
def run():
# Zaktualizuj ścieżkę do swoich plików
image_path = "icon1.png" # Twoje logo/ikonka zabezpieczająca
document_path = "sample.pdf"
output_document_path = "sample_with_watermark.pdf"
with gw.Watermarker(document_path) as watermarker:
# Warstwa 1: Znak wodny tekstowy
text_watermark = get_text_watermark("WERSJA ROBOCZA")
# Warstwa 2: Znak wodny graficzny (inny wzór)
image_watermark = get_image_watermark(image_path)
# Zastosuj obie warstwy
watermarker.add(text_watermark)
watermarker.add(image_watermark)
watermarker.save(output_document_path)
print(f"\n✅ ULTIMATYWNA OCHRONA AKTYWOWANA!")
print(f"Ultra-zabezpieczony dokument zapisano jako: {output_document_path}")
run()
Wynik:
Maksymalne bezpieczeństwo: Dwie różne warstwy znaków wodnych z różnymi wzorami = ostateczna ochrona dokumentów!
Zrozumienie wzorów znaków wodnych (Proste wyjaśnienie)
Oto trzy główne wzory, które możesz użyć:
Wzór PROSTY
Jak wygląda: Idealne rzędy i kolumny, jak szachownica Najlepsze dla: Profesjonalnych dokumentów biznesowych Dlaczego wybrać: Czysty i uporządkowany wygląd
Wzór OFFSET
Jak wygląda: Jak cegły w ścianie - każdy rząd jest przesunięty Najlepsze dla: Zdjęć i kreatywnych dokumentów Dlaczego wybrać: Lepiej pokrywa, trudniejsze do usunięcia
Wzór BASKET_WEAVE
Jak wygląda: Upleciony wzór jak kosz Najlepsze dla: Dokumentów o wysokim bezpieczeństwie, certyfikatów Dlaczego wybrać: Najbardziej zaawansowany i najtrudniejszy do usunięcia
Szybka pomoc: Rozwiązywanie typowych problemów
Problem: Błąd “Nie mogę znaleźć mojego pliku”
Łatwe rozwiązanie: Sprawdź ścieżkę do pliku. Użyj tego formatu:
# Dobre przykłady:
document_path = "C:/Users/TwojeImię/Documents/file.pdf" # ✅
document_path = "file.pdf" # ✅ Jeśli plik jest w tym samym folderze co twój skrypt
Problem: Znak wodny za ciemny lub za jasny
Łatwe rozwiązanie: Zmień numer przezroczystości:
watermark.opacity = 0.3 # Bardzo lekki (niemal niewidoczny)
watermark.opacity = 0.5 # Idealna równowaga (zalecane)
watermark.opacity = 0.8 # Bardzo widoczny (trudno przegapić)
Problem: Znak wodny zbyt ciasny
Łatwe rozwiązanie: Zwiększ liczby odstępów:
line_spacing.value = 20.0 # Więcej miejsca między wierszami
watermark_spacing.value = 15.0 # Więcej miejsca między znakami wodnymi
Problem: Błąd “Nie znaleziono modułu”
Łatwe rozwiązanie: Zainstaluj ponownie bibliotekę:
pip uninstall groupdocs-watermark-net
pip install groupdocs-watermark-net
Szybkie fragmenty kodu do skopiowania
Super prosty znak wodny tekstowy
import groupdocs.watermark as gw
import groupdocs.watermark.watermarks as gww
with gw.Watermarker("input.pdf") as watermarker:
font = gww.Font('Arial', 16.0)
watermark = gww.TextWatermark('TWÓJ TEKST TUTAJ', font)
watermark.foreground_color = gww.Color.red
watermark.opacity = 0.5
tile_options = gww.TileOptions()
tile_options.tile_type = gww.TileType.STRAIGHT
watermark.tile_options = tile_options
watermarker.add(watermark)
watermarker.save("output.pdf")
print("Gotowe!")
Super prosty znak wodny graficzny
import groupdocs.watermark as gw
import groupdocs.watermark.watermarks as gww
with gw.Watermarker("input.pdf") as watermarker:
watermark = gww.ImageWatermark("logo.png")
watermark.opacity = 0.4
watermark.width = 80.0
watermark.height = 60.0
tile_options = gww.TileOptions()
tile_options.tile_type = gww.TileType.OFFSET
watermark.tile_options = tile_options
watermarker.add(watermark)
watermarker.save("output.pdf")
print("Dodano znak wodny logo!")
Często zadawane pytania (Proste odpowiedzi)
Jakie typy plików mogę znakować? Wiele! To narzędzie działa z:
- PDF: pliki .pdf
- Zdjęcia: .jpg, .png, .gif, .bmp
- Dokumenty Word: .docx, .doc
- Arkusze Excel: .xlsx, .xls
- PowerPoint: .pptx, .ppt
Czy znaki wodne spowodują, że moje pliki będą większe lub wolniejsze?
Nieco większe pliki, ale nie zauważalnie wolniejsze. Gęste wzory (duża ilość blisko siebie) tworzą większe pliki.
Czy ludzie mogą usunąć moje znaki wodne?
Tilingowe znaki wodne są bardzo trudne do usunięcia ponieważ pokrywają cały dokument. Pojedyncze znaki wodne mogą być wycinane, ale wzory powtarzające się wymagałyby edytowania każdej części dokumentu - prawie niemożliwe!
Jaka przezroczystość (opacity) działa najlepiej?
0.4 do 0.6 jest idealne w większości sytuacji:
- 0.3-0.4: Subtelna ochrona (niemal niewidoczna)
- 0.5-0.6: Zrównoważona widoczność (zalecane)
- 0.7+: Bardzo oczywiste (dobre dla “WERSJA ROBOCZA” lub “POUFNE”)
Czy mogę używać różnych czcionek?
Tak! Ale trzymaj się popularnych czcionek, takich jak Arial, Times New Roman lub Calibri, aby działały na wszystkich komputerach.
Jak mogę znakować wiele plików naraz?
Użyj przykładu przetwarzania wsadowego (#4 powyżej) - automatycznie przetwarza wszystkie pliki w folderze.
Co dalej? Kontynuuj naukę!
Spróbuj tych następnych kroków:
- Ćwicz z własnymi plikami przy użyciu powyższych przykładów
- Zmień kolory i czcionty tak, aby odpowiadały twojemu stylowi
- Połącz znaki wodne tekstowe i graficzne jak w przykładzie 7
- Stwórz skrypty wsadowe, aby obsługiwać wiele plików automatycznie
Podsumowanie: Teraz jesteś gotowy, aby chronić swoje pliki!
Gratulacje! Teraz wiesz, jak chronić swoje dokumenty i zdjęcia jak profesjonalista. Oto co się nauczyłeś:
✅ 7 łatwych technik znakowania dla różnych sytuacji
✅ Pełne przykłady kodu, które możesz skopiować i używać od razu
✅ Proste rozwiązania dla typowych problemów
✅ Najlepsze praktyki dla różnych typów plików
✅ Przetwarzanie wsadowe do obsługi wielu plików
Zacznij chronić swoje pliki już dziś! Wybierz jeden przykład powyżej, zmień nazwy plików na pasujące do twoich i uruchom go. W ciągu kilku minut zdobędziesz profesjonalną ochronę dokumentów.
Pamiętaj: Twoje twórcze dzieło i dokumenty biznesowe są cenne. Nie pozwól innym ich ukraść lub niewłaściwie wykorzystać - chroń je za pomocą znaków wodnych!
Uzyskaj bezpłatny okres próbny
Możesz wypróbować API GroupDocs.Watermark za darmo, pobierając i instalując najnowszą wersję na naszej stronie z pobraniami wydań.
Możesz także uzyskać tymczasową licencję, aby przetestować wszystkie funkcje biblioteki bez ograniczeń. Udaj się na stronę z tymczasowymi licencjami, aby złożyć wniosek o tymczasową licencję.
Zobacz także
Dla dodatkowych informacji i zasobów, poniższe linki mogą być przydatne:
- Generuj powtarzający się znak wodny w .NET i Java
- Przykłady GroupDocs.Watermark dla .NET
- Przykłady GroupDocs.Watermark dla Java
- Przykłady GroupDocs.Watermark for Node.js via Java
- Pobierz i wypróbuj API GroupDocs.Watermark za darmo
- Wypróbuj GroupDocs.Watermark z tymczasową licencją z pełnym dostępem
- Dokumentacja naszych API
- Bezpłatne forum wsparcia