เรามีความยินดีที่จะแจ้งการปล่อย GroupDocs.Signature for Python v26.10 ซึ่งพร้อมให้บริการตั้งแต่ October 2026. การปล่อยครั้งสำคัญนี้อัปเกรดเอนจิน GroupDocs.Signature พื้นฐานจากเวอร์ชัน 25.12 ไปเป็น 26.9 และย้าย runtime ของ .NET ที่ฝังอยู่จาก .NET Core 3.1 ไปเป็น .NET 10.0.12. มันนำเสนอการเรียกกลับแบบ Python สำหรับสตรีมการพรีวิว, ตัวบันทึก, การเข้ารหัสข้อมูล, และการสนับสนุนการเซ็นแฮชแบบกำหนดเอง, เพิ่มความเข้ากันได้เต็มรูปแบบกับ Python 3.14, และแก้ไขปัญหาการนำเข้าที่สำคัญบน Linux. การปล่อยนี้รวมคุณลักษณะหลักสองอย่าง, การปรับปรุงห้าประการ, และการแก้ไขบั๊กสองรายการ.
สิ่งใหม่ในรุ่นนี้
- [Feature] ยอมรับฟังก์ชัน Python เป็นคอลแบ็กสำหรับการพรีวิวหน้าและลายเซ็น (SIGNATUREPYTHON-21)
- [Feature] ยอมรับอ็อบเจ็กต์ Python เป็นการทำงานของ
ILogger,IDataEncryptionและICustomSignHash(SIGNATUREPYTHON-22) - [Feature] เพิ่มการสนับสนุน Python 3.14 (SIGNATUREPYTHON-23)
- [Enhancement] อัปเดตเอนจิน GroupDocs.Signature จาก 25.12 เป็น 26.9 (SIGNATUREPYTHON-24)
- [Enhancement] อัปเดต runtime ของ .NET ที่ฝังอยู่จาก .NET Core 3.1 ไปเป็น .NET 10.0.12 (SIGNATUREPYTHON-25)
- [Enhancement] ทำให้เกิด
GroupDocsSignatureException,IncorrectPasswordExceptionและPasswordRequiredExceptionแทนRuntimeError(SIGNATUREPYTHON-26) - [Enhancement] ทำให้เกิด
AttributeErrorเมื่อโค้ดพยายามกำหนดแอตทริบิวต์ที่คลาสไม่มี (SIGNATUREPYTHON-27) - [Enhancement] เปลี่ยนชื่อสมาชิกที่ชื่อ Python แยกคำของ .NET (
z_order→zorder,x_ad_es_type→xad_es_type) (SIGNATUREPYTHON-28) - [Enhancement] เลือก overloads ตามเนื้อหาของรายการ, และส่งค่า
datetimeและDecimalไปยัง .NET โดยไม่เปลี่ยนแปลง (SIGNATUREPYTHON-29) - [Enhancement] อัปเดตแท็กแพลตฟอร์มของ wheel เป็น
manylinux_2_27และmacosx_12_0, และยกเลิก wheel สำหรับ Windows 32-bit (SIGNATUREPYTHON-30) - [Fix] wheel ของ Linux ไม่สามารถนำเข้าได้บนดิสโทรรุ่นปัจจุบัน (SIGNATUREPYTHON-31)
- [Fix]
GROUPDOCS_LIC_PATHถูกละเลย (SIGNATUREPYTHON-32)
การเปลี่ยนแปลง API สาธารณะ
ผู้อัปเกรดต้องปรับให้เข้ากับสมาชิกที่เปลี่ยนชื่อ, ประเภทข้อยกเว้นใหม่, และแท็กแพลตฟอร์มที่อัปเดต. การกำหนดค่าแอตทริบิวต์ตอนนี้จะทำให้เกิด AttributeError และคอลแบ็กสามารถเป็นฟังก์ชัน Python ธรรมดาได้.
คลาสและสมาชิกใหม่
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 |
คุณลักษณะใหม่
การสร้างพรีวิวด้วยคอลแบ็ก Python
PreviewOptions ตอนนี้สามารถสร้างด้วยฟังก์ชัน Python ธรรมดาได้. คอลแบ็ก 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))
อ็อบเจ็กต์ Python เป็น logger, encryption, และคอลแบ็ก hash แบบกำหนดเอง
อ็อบเจ็กต์ Python ธรรมดาตอนนี้สามารถทำงานตามอินเทอร์เฟซ ILogger, IDataEncryption, และ ICustomSignHash ได้. อ็อบเจ็กต์ logger ที่มีเมธอด trace, warning, และ error สามารถส่งให้กับ SignatureSettings. อ็อบเจ็กต์ encryption ที่มีเมธอด encode และ decode สามารถกำหนดให้กับ options.data_encryption บนลายเซ็น QR-code หรือ metadata. ตัวเซ็น hash แบบกำหนดเองอาจเป็นฟังก์ชันหรืออ็อบเจ็กต์ที่มีเมธอด 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. ไม่จำเป็นต้องเปลี่ยนโค้ด; การนำเข้าและการใช้งานเดียวกันทำงานบนอินเตอร์พรีเตอร์รุ่นใหม่.
ตัวอย่างโค้ด
ดูส่วน “คุณลักษณะใหม่” ด้านบนสำหรับตัวอย่างโค้ดที่ทำงานแสดงการใช้คอลแบ็ก Python สำหรับการสร้างพรีวิวและการทำงานของ logger/encryption แบบกำหนดเอง.
วิธีรับการอัปเดต
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 release page.