ما خوشحالیم که انتشار 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) - [بهبود] انتخاب overloadها بر اساس محتویات یک لیست و عبور مقادیر
datetimeوDecimalبه .NET بدون تغییر (SIGNATUREPYTHON-29) - [بهبود] بهروزرسانی برچسبهای پلتفرم wheel به
manylinux_2_27وmacosx_12_0و حذف wheel 32‑بیتی ویندوز (SIGNATUREPYTHON-30) - [رفع] عدم امکان وارد کردن wheel لینوکس در توزیعهای فعلی (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 یا متادیتا اختصاص یابد. یک امضاکننده هش سفارشی میتواند یک تابع یا شیء با متد 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" را اعلام میکند و یک wheel واحد برای هر پلتفرم، پشتیبانی از 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 دانلود کنید.