Wij zijn blij de release van GroupDocs.Watermark for Python v26.10 aan te kondigen, beschikbaar vanaf oktober 2026. Deze release upgrade de onderliggende .NET engine van 26.6 naar 26.9 en de ingebedde .NET runtime van 10.0.0 naar 10.0.12. Het introduceert ondersteuning voor aangepaste loggers, handhaaft strengere attribuuttoewijzing, en lost kritieke problemen op met preview callbacks en pagina‑stream handling. Daarnaast is de compatibiliteit uitgebreid naar Python 3.5–3.14, en wordt platformondersteuning verduidelijkt via strikte wheel‑tags.
Wat is nieuw in deze release
- [Feature] Accepteer een Python‑object of functie als
WatermarkerSettings.logger(WATERMARKPYTHON-65) - [Enhancement] Werk de GroupDocs.Watermark‑engine bij van 26.6 naar 26.9 (WATERMARKPYTHON-66)
- [Enhancement] Werk de ingebedde .NET runtime bij van 10.0.0 naar 10.0.12 (WATERMARKPYTHON-67)
- [Enhancement] Gooi
AttributeErrorwanneer code een attribuut toewijst dat de klasse niet heeft (WATERMARKPYTHON-68) - [Fix] Kan het pakket niet gebruiken op Python 3.5 – 3.7 (WATERMARKPYTHON-69)
- [Fix] pip installeert het pakket op Linux‑ en macOS‑versies die het niet kunnen uitvoeren (WATERMARKPYTHON-70)
- [Fix] Preview‑release‑callbacks ontvangen
Nonein plaats van de pagina‑stream (WATERMARKPYTHON-71) - [Fix] Pagina‑previews geschreven naar
io.BytesIOzijn leeg (WATERMARKPYTHON-72) - [Fix] Spreadsheet‑pagina‑previews geschreven via een release‑callback zijn afgekapt (WATERMARKPYTHON-73)
Wijzigingen in de openbare API
Upgraden vereist het gebruik van het nieuwe wheel (pip ≥ 20.3) en het afhandelen van de nieuwe AttributeError voor verkeerd gespelde attributen; andere API‑handtekeningen blijven ongewijzigd.
Nieuwe klassen en leden
Color: een constructor; die had er geen.get()op 4 geïndexeerde klassen —ReadOnlyListBase,SpreadsheetHeaderFooterCollection,SpreadsheetHeaderFooterSectionCollection,WordProcessingHeaderFooterCollection— als alternatief voorx[key]; hunitem‑eigenschap is verwijderd.
Nieuwe functies
Aangepaste logger voor WatermarkerSettings
WatermarkerSettings.logger accepteert nu een Python‑object of een eenvoudige functie. In 26.6 veroorzaakte het toewijzen van een willekeurige waarde
TypeError: _marshal_callback_or_handle: cannot wrap ... as GroupDocs.Watermark.Options.ILogger
De logger kan een object zijn dat trace(message), warning(message) en error(message, exception) implementeert, of een callable fn(level, message, exception). De engine logt een trace wanneer hij een bestand opent en een error (met de .NET‑exceptietekst) wanneer hij er geen kan laden; fouten binnen de logger worden genegeerd.
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)
Strikte attribuuttoewijzing
Het toewijzen van een verkeerd gespelde of .NET‑stijl eigenschap op een watermark‑wrapper veroorzaakt nu een AttributeError in plaats van stilzwijgend een alleen‑Python‑attribuut te creëren. Dit voorkomt dat code denkt dat het document is gewijzigd terwijl dat niet het geval is.
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
De opgegooide fout is:
AttributeError: 'TextWatermark' object has no attribute 'opacity_level'; assigning it would not reach the .NET object. Did you mean: 'opacity'?
Bestaande correcte eigenschapstoewijzingen blijven ongewijzigd werken.
Codevoorbeeld
Zie de secties Aangepaste logger voor WatermarkerSettings en Strikte attribuuttoewijzing hierboven.
Hoe de update te verkrijgen
PyPI
- Pakket: groupdocs-watermark-net 26.10.0
- Installatie‑commando:
pip install groupdocs-watermark-net==26.10.0
Directe download
Download de wheels voor Windows, Linux en macOS vanaf de GroupDocs.Watermark for Python via .NET 26.10 pagina.