We’re happy to announce the release of GroupDocs.Watermark for Python v26.10, available as of October 2026. This release upgrades the underlying .NET engine from 26.6 to 26.9 and the embedded .NET runtime from 10.0.0 to 10.0.12. It introduces support for custom loggers, enforces stricter attribute assignment, and fixes critical issues with preview callbacks and page stream handling. Additionally, compatibility is extended to Python 3.5–3.14, and platform support is clarified via strict wheel tags.
Bu sürümde yenilikler
- [Feature] Python nesnesi veya fonksiyonunu
WatermarkerSettings.loggerolarak kabul et (WATERMARKPYTHON-65) - [Enhancement] GroupDocs.Watermark motorunu 26.6’dan 26.9’a güncelle (WATERMARKPYTHON-66)
- [Enhancement] Gömülü .NET çalışma zamanını 10.0.0’dan 10.0.12’ye güncelle (WATERMARKPYTHON-67)
- [Enhancement] Kod bir sınıfın sahip olmadığı bir öznitelik atadığında
AttributeErrorfırlat (WATERMARKPYTHON-68) - [Fix] Paket Python 3.5 – 3.7’de kullanılamıyor (WATERMARKPYTHON-69)
- [Fix] pip, paketi çalıştırılamayan Linux ve macOS sürümlerine kuruyor (WATERMARKPYTHON-70)
- [Fix] Önizleme yayın geri aramaları sayfa akışı yerine
Nonealıyor (WATERMARKPYTHON-71) - [Fix]
io.BytesIO‘ye yazılan sayfa önizlemeleri boş (WATERMARKPYTHON-72) - [Fix] Yayın geri aramasıyla yazılan elektronik tablo sayfa önizlemeleri kesiliyor (WATERMARKPYTHON-73)
Genel API değişiklikleri
Yükseltme, yeni tekerleği (pip ≥ 20.3) kullanmayı ve yanlış yazılmış öznitelikler için yeni AttributeError‘ı ele almayı gerektirir; diğer API imzaları değişmeden kalır.
Yeni sınıflar ve üyeler
Color: bir yapıcı; daha önce yoktu.get()4 indeksli sınıfta —ReadOnlyListBase,SpreadsheetHeaderFooterCollection,SpreadsheetHeaderFooterSectionCollection,WordProcessingHeaderFooterCollection—x[key]‘e alternatif olarak; bu sınıflarınitemözelliği kaldırıldı.
Yeni özellikler
WatermarkerSettings için özel günlükçü
WatermarkerSettings.logger artık bir Python nesnesi veya basit bir fonksiyon kabul ediyor. 26.6’da herhangi bir değer atandığında şu hata yükseltiliyordu
TypeError: _marshal_callback_or_handle: cannot wrap ... as GroupDocs.Watermark.Options.ILogger
Günlükçü, trace(message), warning(message) ve error(message, exception) metodlarını uygulayan bir nesne ya da çağrılabilir fn(level, message, exception) olabilir. Motor, bir dosya açtığında trace kaydeder ve bir dosyayı yükleyemediğinde ( .NET istisna metniyle) error kaydeder; günlükçü içindeki hatalar yok sayılır.
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)
Katı öznitelik ataması
Bir watermark sarmalayıcısında yanlış yazılmış veya .NET tarzı bir özelliği atamak artık sessizce yalnızca Python için bir öznitelik oluşturmak yerine AttributeError fırlatır. Bu, kodun belgeyi değiştirdiğini düşünmesini engeller.
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
Yükseltilen hata:
AttributeError: 'TextWatermark' object has no attribute 'opacity_level'; assigning it would not reach the .NET object. Did you mean: 'opacity'?
Mevcut doğru özellik atamaları değişmeden çalışmaya devam eder.
Kod örneği
Yukarıdaki WatermarkerSettings için özel günlükçü ve Katı öznitelik ataması bölümlerine bakın.
Güncellemeyi nasıl alabilirsiniz
PyPI
- Paket: groupdocs-watermark-net 26.10.0
- Kurulum komutu:
pip install groupdocs-watermark-net==26.10.0
Doğrudan indirme
Windows, Linux ve macOS için tekerlekleri GroupDocs.Watermark for Python via .NET 26.10 sayfasından indirin.