Wir freuen uns, die Veröffentlichung von GroupDocs.Watermark for Python v26.10 bekannt zu geben, verfügbar seit Oktober 2026. Dieses Release aktualisiert die zugrunde liegende .NET‑Engine von 26.6 auf 26.9 und die eingebettete .NET‑Laufzeit von 10.0.0 auf 10.0.12. Es führt die Unterstützung für benutzerdefinierte Logger ein, erzwingt strengere Attributzuweisungen und behebt kritische Probleme mit Vorschau‑Callbacks und der Behandlung von Seiten‑Streams. Zusätzlich wird die Kompatibilität auf Python 3.5–3.14 erweitert, und die Plattformunterstützung wird durch strenge Wheel‑Tags präzisiert.
Was ist neu in diesem Release
- [Feature] Akzeptiert ein Python‑Objekt oder eine Funktion als
WatermarkerSettings.logger(WATERMARKPYTHON-65) - [Enhancement] Aktualisiert die GroupDocs.Watermark‑Engine von 26.6 auf 26.9 (WATERMARKPYTHON-66)
- [Enhancement] Aktualisiert die eingebettete .NET‑Laufzeit von 10.0.0 auf 10.0.12 (WATERMARKPYTHON-67)
- [Enhancement] Wirft
AttributeError, wenn Code einem Attribut einen Wert zuweist, das die Klasse nicht besitzt (WATERMARKPYTHON-68) - [Fix] Paket kann nicht mit Python 3.5 – 3.7 verwendet werden (WATERMARKPYTHON-69)
- [Fix] pip installiert das Paket auf Linux‑ und macOS‑Versionen, die es nicht ausführen können (WATERMARKPYTHON-70)
- [Fix] Vorschau‑Release‑Callbacks erhalten
Noneanstelle des Seiten‑Streams (WATERMARKPYTHON-71) - [Fix] Seitenvorschauen, die in
io.BytesIOgeschrieben werden, sind leer (WATERMARKPYTHON-72) - [Fix] Tabellenkalkulationsseitenvorschauen, die über einen Release‑Callback geschrieben werden, sind abgeschnitten (WATERMARKPYTHON-73)
Änderungen an der öffentlichen API
Ein Upgrade erfordert die Verwendung des neuen Wheels (pip ≥ 20.3) und das Behandeln des neuen AttributeError für falsch geschriebene Attribute; andere API‑Signaturen bleiben unverändert.
Neue Klassen und Mitglieder
Color: ein Konstruktor; vorher gab es keinen.get()bei 4 indizierten Klassen —ReadOnlyListBase,SpreadsheetHeaderFooterCollection,SpreadsheetHeaderFooterSectionCollection,WordProcessingHeaderFooterCollection— als Alternative zux[key]; ihreitem‑Eigenschaft wurde entfernt.
Neue Funktionen
Benutzerdefinierter Logger für WatermarkerSettings
WatermarkerSettings.logger akzeptiert jetzt ein Python‑Objekt oder eine einfache Funktion. In 26.6 löste das Zuweisen eines beliebigen Werts aus
TypeError: _marshal_callback_or_handle: cannot wrap ... as GroupDocs.Watermark.Options.ILogger
Der Logger kann ein Objekt sein, das trace(message), warning(message) und error(message, exception) implementiert, oder ein aufrufbares fn(level, message, exception). Die Engine protokolliert ein trace, wenn sie eine Datei öffnet, und einen error (mit dem .NET‑Ausnahmetext), wenn sie eine Datei nicht laden kann; Fehler im Logger werden ignoriert.
from groupdocs.watermark import Watermarker, WatermarkerSettings
class PrintLogger:
def trace(self, message):
print("trace:", message)
def warning(self, message):
print("warning:", message)
def error(self, message, exception):
print("error:", message, exception)
settings = WatermarkerSettings()
settings.logger = PrintLogger() # object with the required methods
# or: settings.logger = lambda level, msg, exc: print(level, msg, exc)
with Watermarker("document.pdf", settings) as watermarker:
print(watermarker.get_document_info().page_count)
Strenge Attributzuweisung
Das Zuweisen einer falsch geschriebenen oder .NET‑ähnlichen Eigenschaft an einem Watermark‑Wrapper löst jetzt ein AttributeError aus, anstatt stillschweigend ein rein Python‑Attribut zu erstellen. Dies verhindert, dass Code annimmt, das Dokument geändert zu haben, obwohl dies nicht der Fall ist.
from groupdocs.watermark import Watermarker
from groupdocs.watermark.watermarks import TextWatermark, Font
with Watermarker("document.pdf") as wm:
watermark = TextWatermark("CONFIDENTIAL", Font("Arial", 36))
# The following line raises an error because the property name is wrong
watermark.opacity_level = 0.5
Der ausgelöste Fehler lautet:
AttributeError: 'TextWatermark' object has no attribute 'opacity_level'; assigning it would not reach the .NET object. Did you mean: 'opacity'?
Bestehende korrekte Eigenschaftszuweisungen funktionieren weiterhin unverändert.
Codebeispiel
Siehe die Abschnitte Benutzerdefinierter Logger für WatermarkerSettings und Strenge Attributzuweisung oben.
Wie Sie das Update erhalten
PyPI
- Paket: groupdocs-watermark-net 26.10.0
- Installationsbefehl:
pip install groupdocs-watermark-net==26.10.0
Direkter Download
Laden Sie die Wheels für Windows, Linux und macOS von der Seite GroupDocs.Watermark for Python via .NET 26.10 herunter.