Kami senang mengumumkan rilis GroupDocs.Watermark for Python v26.10, tersedia sejak Oktober 2026. Rilis ini meningkatkan mesin .NET yang mendasarinya dari 26.6 ke 26.9 dan runtime .NET yang disematkan dari 10.0.0 ke 10.0.12. Ini memperkenalkan dukungan untuk logger khusus, menegakkan penetapan atribut yang lebih ketat, dan memperbaiki masalah kritis dengan callback pratinjau dan penanganan aliran halaman. Selain itu, kompatibilitas diperluas ke Python 3.5–3.14, dan dukungan platform diklarifikasi melalui tag roda yang ketat.
Apa yang baru di rilis ini
- [Fitur] Menerima objek Python atau fungsi sebagai
WatermarkerSettings.logger(WATERMARKPYTHON-65) - [Peningkatan] Memperbarui mesin GroupDocs.Watermark dari 26.6 ke 26.9 (WATERMARKPYTHON-66)
- [Peningkatan] Memperbarui runtime .NET yang disematkan dari 10.0.0 ke 10.0.12 (WATERMARKPYTHON-67)
- [Peningkatan] Menghasilkan
AttributeErrorketika kode menetapkan atribut yang tidak dimiliki kelas (WATERMARKPYTHON-68) - [Perbaikan] Tidak dapat menggunakan paket pada Python 3.5 – 3.7 (WATERMARKPYTHON-69)
- [Perbaikan] pip menginstal paket pada versi Linux dan macOS yang tidak dapat menjalankannya (WATERMARKPYTHON-70)
- [Perbaikan] Callback rilis pratinjau menerima
Nonealih-alih aliran halaman (WATERMARKPYTHON-71) - [Perbaikan] Pratinjau halaman yang ditulis ke
io.BytesIOkosong (WATERMARKPYTHON-72) - [Perbaikan] Pratinjau halaman Spreadsheet yang ditulis melalui callback rilis terpotong (WATERMARKPYTHON-73)
Perubahan API Publik
Peningkatan memerlukan penggunaan wheel baru (pip ≥ 20.3) dan penanganan AttributeError baru untuk atribut yang salah eja; tanda tangan API lainnya tetap tidak berubah.
Kelas dan anggota baru
Color: sebuah konstruktor; sebelumnya tidak ada.get()pada 4 kelas terindeks —ReadOnlyListBase,SpreadsheetHeaderFooterCollection,SpreadsheetHeaderFooterSectionCollection,WordProcessingHeaderFooterCollection— sebagai alternatif untukx[key]; propertiitemmereka dihapus.
Fitur baru
Logger khusus untuk WatermarkerSettings
WatermarkerSettings.logger kini menerima objek Python atau fungsi biasa. Pada versi 26.6 penetapan nilai apa pun menghasilkan
TypeError: _marshal_callback_or_handle: cannot wrap ... as GroupDocs.Watermark.Options.ILogger
Logger dapat berupa objek yang mengimplementasikan trace(message), warning(message), dan error(message, exception), atau callable fn(level, message, exception). Mesin mencatat trace ketika membuka file dan error (dengan teks pengecualian .NET) ketika tidak dapat memuatnya; kegagalan di dalam logger diabaikan.
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)
Penetapan atribut yang ketat
Menetapkan properti yang salah eja atau bergaya .NET pada pembungkus watermark kini menghasilkan AttributeError alih-alih secara diam-diam membuat atribut hanya Python. Ini mencegah kode berpikir bahwa dokumen telah diubah padahal tidak.
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
Error yang dihasilkan adalah:
AttributeError: 'TextWatermark' object has no attribute 'opacity_level'; assigning it would not reach the .NET object. Did you mean: 'opacity'?
Penetapan properti yang benar yang ada tetap berfungsi tanpa perubahan.
Contoh kode
Lihat bagian Logger khusus untuk WatermarkerSettings dan Penetapan atribut yang ketat di atas.
Cara mendapatkan pembaruan
PyPI
- Paket: groupdocs-watermark-net 26.10.0
- Perintah instalasi:
pip install groupdocs-watermark-net==26.10.0
Unduhan langsung
Unduh wheel untuk Windows, Linux, dan macOS dari halaman GroupDocs.Watermark for Python via .NET 26.10.