يسعدنا أن نعلن عن إصدار GroupDocs.Signature for Python v26.10، المتاح اعتبارًا من أكتوبر 2026. هذا الإصدار الرئيسي يرقِّي محرك GroupDocs.Signature الأساسي من 25.12 إلى 26.9 وينقل بيئة تشغيل .NET المدمجة من .NET Core 3.1 إلى .NET 10.0.12. يضيف ردود نداء بأسلوب بايثون لتدفقات المعاينة، ومسجل، وتشفير البيانات، ودعم تجزئة توقيع مخصص، ويضيف توافقًا كاملًا مع Python 3.14، ويحل مشكلات الاستيراد الحرجة على لينكس. يتضمن هذا الإصدار ميزتين رئيسيتين، وخمس تحسينات، وتصحيحين للأخطاء.
ما الجديد في هذا الإصدار
- [الميزة] قبول دوال بايثون كوظائف رد نداء لمعاينة الصفحات والتوقيعات (SIGNATUREPYTHON-21)
- [الميزة] قبول كائنات بايثون كتنفيذات
ILogger،IDataEncryptionوICustomSignHash(SIGNATUREPYTHON-22) - [الميزة] إضافة دعم لـ Python 3.14 (SIGNATUREPYTHON-23)
- [تحسين] تحديث محرك GroupDocs.Signature من 25.12 إلى 26.9 (SIGNATUREPYTHON-24)
- [تحسين] تحديث بيئة تشغيل .NET المدمجة من .NET Core 3.1 إلى .NET 10.0.12 (SIGNATUREPYTHON-25)
- [تحسين] رفع
GroupDocsSignatureException،IncorrectPasswordExceptionوPasswordRequiredExceptionبدلاً منRuntimeError(SIGNATUREPYTHON-26) - [تحسين] رفع
AttributeErrorعندما يحاول الكود تعيين سمة لا تملكها الفئة (SIGNATUREPYTHON-27) - [تحسين] إعادة تسمية الأعضاء التي تقسم أسماء .NET إلى كلمات (
z_order→zorder،x_ad_es_type→xad_es_type) (SIGNATUREPYTHON-28) - [تحسين] اختيار التحميل الزائد بناءً على محتويات قائمة، وتمرير قيم
datetimeوDecimalإلى .NET دون تعديل (SIGNATUREPYTHON-29) - [تحسين] تحديث وسوم منصة العجلة إلى
manylinux_2_27وmacosx_12_0، وإلغاء عجلة Windows 32‑bit (SIGNATUREPYTHON-30) - [تصحيح] لا يمكن استيراد عجلة لينكس على التوزيعات الحالية (SIGNATUREPYTHON-31)
- [تصحيح] تم تجاهل
GROUPDOCS_LIC_PATH(SIGNATUREPYTHON-32)
تغييرات API العامة
يحتاج المستخدمون الذين يقومون بالترقية إلى تعديل الأعضاء المعاد تسميتها، وأنواع الاستثناءات الجديدة، ووسوم المنصات المحدثة. الآن تُرفع استثناءات AttributeError عند تعيين سمة غير موجودة، ويمكن أن تكون ردود النداء دوال بايثون عادية.
الفئات والأعضاء الجديدة
groupdocs.signature:ProcessCompleteEventHandler،ProcessProgressEventHandler،ProcessStartEventHandler.groupdocs.signature.domain:OoxmlCompliance.groupdocs.signature.options:CreateSignatureStream،ReleaseSignatureStream،PreviewOptions.CreateDocPageStream،PreviewOptions.ReleaseDocPageStream،PreviewOptions.PreviewFormats،PreviewSignatureOptions.PreviewFormats.ConsoleLogger:error().DigitalSignOptions:allow_expired،allow_not_yet_valid.DigitalSignature:certificate_store_location،certificate_store_name.FileLogger:error().ILogger:error().ImageSignOptions:dispose().LoadOptions:skip_external_resources،whitelisted_resources.Mailmark2D:class_.MetadataSignatureCollection:append()،get().PreviewOptions: مُنشئ؛ لم يكن موجودًا من قبل.PreviewSignatureOptions: مُنشئ؛ لم يكن موجودًا من قبل.SearchResult:get_enumerator()،to_list().Signature:dispose().SignatureSettings:default_culture.WordProcessingSaveOptions:ooxml_compliance.
تم إعادة تسمية
| الفئة | الاسم القديم | الاسم الجديد |
|---|---|---|
BarcodeTypes |
DATA_LOGIC_2OF_5 |
DATA_LOGIC_2OF5 |
BarcodeTypes |
GS1_CODE_128 |
GS1_CODE128 |
BarcodeTypes |
GS1_MICRO_PDF_417 |
GS1_MICRO_PDF417 |
BarcodeTypes |
IATA2OF_5 |
IATA2OF5 |
BarcodeTypes |
INTERLEAVED_2OF_5 |
INTERLEAVED_2OF5 |
BarcodeTypes |
MATRIX_2OF_5 |
MATRIX_2OF5 |
BarcodeTypes |
STANDARD_2OF_5 |
STANDARD_2OF5 |
BarcodeTypes |
UPCA_GS_1_CODE_128_COUPON |
UPCA_GS1_CODE_128_COUPON |
BarcodeTypes |
UPCA_GS_1_DATABAR_COUPON |
UPCA_GS1_DATABAR_COUPON |
DigitalSignature |
x_ad_es_type |
xad_es_type |
FileType |
G_ZIP |
GZIP |
FileType |
L_ZIP |
LZIP |
XAdESType |
X_AD_ES |
XAD_ES |
DigitalSignOptions |
x_ad_es_type |
xad_es_type |
JpegCompressionColorMode |
Y_CB_CR |
YCB_CR |
SignOptions |
z_order |
zorder |
PdfTextAnnotationAppearance |
h_corner_radius |
hcorner_radius |
PdfTextAnnotationAppearance |
v_corner_radius |
vcorner_radius |
الميزات الجديدة
إنشاء معاينة باستخدام ردود نداء بايثون
يمكن الآن إنشاء PreviewOptions باستخدام دوال بايثون عادية. تستقبل دالة create كائن page_data ويجب أن تُعيد تدفقًا قابلًا للكتابة (كائن ملف أو io.BytesIO). تُستدعى دالة release بعد كتابة الصورة وتستقبل نفس page_data والتدفق.
from groupdocs.signature import Signature
from groupdocs.signature.options import PreviewOptions
def create_page_stream(page_data):
return open(f"page-{page_data.page_number}.png", "wb")
def release_page_stream(page_data, page_stream):
page_stream.close()
with Signature("document.pdf") as signature:
signature.generate_preview(PreviewOptions(create_page_stream, release_page_stream))
كائنات بايثون كمسجلات، تشفير، وردود نداء تجزئة مخصصة
يمكن الآن لكائنات بايثون عادية تنفيذ واجهات ILogger، IDataEncryption و ICustomSignHash. يمكن تمرير كائن مسجل يحتوي على طرق trace، warning و error إلى SignatureSettings. يمكن تعيين كائن تشفير يحتوي على طرق encode و decode إلى options.data_encryption في توقيعات QR‑code أو metadata. يمكن أن يكون مُوقّع التجزئة المخصص دالة أو كائنًا يحتوي على طريقة custom_sign_hash ويُستخدم عبر DigitalSignOptions.custom_sign_hash.
import base64
from groupdocs.signature import Signature, SignatureSettings
from groupdocs.signature.options import QrCodeSignOptions
class SimpleLogger:
def trace(self, message):
print("TRACE:", message)
def warning(self, message):
print("WARN:", message)
def error(self, message, exception=None):
print("ERROR:", message, exception)
class Base64Encryption:
def encode(self, source):
return base64.b64encode(source.encode()).decode()
def decode(self, source):
return base64.b64decode(source).decode()
options = QrCodeSignOptions("Private text")
options.data_encryption = Base64Encryption()
with Signature("document.pdf", SignatureSettings(logger=SimpleLogger())) as signature:
signature.sign("signed.pdf", options)
الدعم لـ Python 3.14
الـ wheel الآن يعلن عن python_requires=">=3.5,<3.15" وعجلة واحدة لكل منصة تغطي Python 3.5 – 3.14. لا يلزم أي تغييرات في الشيفرة؛ نفس الاستيراد والاستخدام يعمل على المفسّر الأحدث.
مثال على الشيفرة
انظر قسم “الميزات الجديدة” أعلاه للحصول على أمثلة شيفرة تعمل توضح ردود نداء بايثون لإنشاء المعاينات وتنفيذ مسجلات/تشفير مخصصة.
كيفية الحصول على التحديث
PyPI
قم بالترقية إلى أحدث حزمة GroupDocs.Signature for Python عبر PyPI: groupdocs-signature-net 26.10.0
التثبيت باستخدام:
pip install groupdocs-signature-net==26.10.0
التحميل المباشر
حمّل حزم الـ wheel مباشرةً من صفحة إصدار GroupDocs.Signature for Python v26.10.