نحن سعداء بالإعلان عن إصدار GroupDocs.Metadata for Python v26.9، المتاح اعتبارًا من سبتمبر 2026. يرقِّي هذا الإصدار محركه الأساسي من 26.6 إلى 26.8، ويضيف واجهة سطر أوامر، ويدعم خمسة تنسيقات أرشيف جديدة (Apple Archive، GZIP، BZ2، XZ، وZstandard)، ويستعيد دعم عروض PowerPoint على جميع المنصات، ويُصلح مشكلات توافق حرجة تؤثر على Python 3.5–3.7 وأنظمة Linux/macOS القديمة. لاحظ أن هذا الإصدار يتضمن تغييرًا كاسحًا: تم نقل 105 فئة تنسيق من النطاقات الفرعية إلى الوحدات الأصلية الخاصة بها.
ما الجديد في هذا الإصدار
- [Feature] تضمين واجهة سطر الأوامر داخل الحزمة (METADATAPYTHON-39)
- [Feature] إضافة دعم قراءة Apple Archive (AAR)، GZIP، BZ2، XZ وZstandard (METADATAPYTHON-62)
- [Enhancement] تحديث محرك GroupDocs.Metadata من 26.6 إلى 26.8 (METADATAPYTHON-63)
- [Enhancement] تحديث وقت تشغيل .NET المدمج من 10.0.0 إلى 10.0.12 (METADATAPYTHON-64)
- [Enhancement] نقل فئات Ogg، FB2، Mobi، MSG، DNG، SVG، العلامة raw، CR2 وتنسيقات 3D إلى الوحدات الأصلية، كما هو في محرك 26.8 (METADATAPYTHON-65)
- [Enhancement] إزالة الحاجة إلى
libgdiplus/mono-libgdiplusعلى Linux وmacOS (METADATAPYTHON-66) - [Enhancement] إضافة
FileTypeFeatureSupportوعداداتProductFeature،SupportLevelوFormatFamilyإلى واجهة برمجة تطبيقات Python (METADATAPYTHON-67) - [Enhancement] إضافة
get()إلى الحزم والفهارس المفهرسة، وappend()إلىIptcRecordSet، ومُنشئRectangle()بدون وسائط (METADATAPYTHON-68) - [Enhancement] نشر مرجع API لكل وحدة، بما في ذلك
formats.*وstandards.*(METADATAPYTHON-69) - [Fix] عدم القدرة على فتح عروض PowerPoint:
DllNotFoundExceptionلـaspose.slides.drawing.capi(METADATAPYTHON-50) - [Fix] فشل قراءة علامة EXIF بواسطة
TiffTagIDعلى Python 3.5 – 3.10 (METADATAPYTHON-51) - [Fix] عدم إمكانية استخدام الحزمة على Python 3.5 – 3.7 (METADATAPYTHON-70)
- [Fix]
pipيثبت الحزمة على إصدارات Linux وmacOS التي لا يمكنها تشغيلها (METADATAPYTHON-71)
تغييرات واجهة برمجة التطبيقات العامة
الفئات والأعضاء الجديدة
groupdocs.metadata.formats.archive:AarRootPackage،AarPackage،AarFile،GzipRootPackage،GzipPackage،Bz2RootPackage،Bz2Package،XzRootPackage،XzPackage،ZstdRootPackage،ZstdPackage.FileType.AAR،FileType.GZIP،FileType.BZ2،FileType.XZ،FileType.ZSTD، الأعضاء الخمسة نفسها منFileFormatوMetadataType، وFileType.AVIF.groupdocs.metadata.common:FileTypeFeatureSupport،FeatureSupport، والعداداتProductFeature،SupportLevelوFormatFamily.get()على الحزم والفهارس المفهرسة —MetadataPackage،ExifDictionaryBasePackage،IptcRecordSet،IptcRecord،XmpLangAltوغيرها — كبديل لـpackage[key]. الخاصيةitemالتي كانت تُعرض في هذه الفئات لا يمكن استدعاؤها وقد أُزيلت.IptcRecordSet.append()، ومُنشئRectangle()بدون وسائط.
تم نقلها إلى الوحدة الأصلية
| الوحدة القديمة (26.7) | الوحدة الجديدة (26.9) | الفئات |
|---|---|---|
groupdocs.metadata.formats.audio.ogg |
groupdocs.metadata.formats.audio |
OggPackage، OggRootPackage، OggUserComment |
groupdocs.metadata.formats.ebook.fb2 |
groupdocs.metadata.formats.ebook |
Fb2Author، Fb2DocumentInfo، Fb2Genre، Fb2PublishInfo، Fb2Sequence، Fb2TitleInfo |
groupdocs.metadata.formats.ebook.mobi |
groupdocs.metadata.formats.ebook |
MobiHeader، MobiPackage، MobiRootPackage، PDBHeader |
groupdocs.metadata.formats.fb2 |
groupdocs.metadata.formats.ebook |
Fb2Package |
groupdocs.metadata.formats.email.msg |
groupdocs.metadata.formats.email |
MsgKnownProperties |
groupdocs.metadata.formats.image.dng |
groupdocs.metadata.formats.image |
DngPackage، DngRootPackage |
groupdocs.metadata.formats.image.svg |
groupdocs.metadata.formats.image |
SvgPackage، SvgRootPackage |
groupdocs.metadata.formats.image |
groupdocs.metadata.formats.raw |
RawDoubleTag، RawFloatTag، RawRationalTag، RawSByteTag، RawSLongTag، RawSRationalTag، RawSShortTag، RawUndefinedTag |
groupdocs.metadata.formats.raw.tag |
groupdocs.metadata.formats.raw |
RawTag، RawArrayTag، RawAsciiTag، RawByteTag، RawLongTag، RawShortTag |
groupdocs.metadata.formats.raw.cr2 |
groupdocs.metadata.formats.raw |
56 من أصل 58 فئة (Cr2MakerNotePackage، Cr2CameraSettingsPackage، تعداد Cr2…Index، …) |
groupdocs.metadata.formats.three_d.dae / .fbx / .gltf / .stl / .three_ds |
groupdocs.metadata.formats.three_d |
DaeNode، DaePackage، DaeRootPackage، الفئات Fbx…، Gltf…، Stl… وThreeDS… |
تم إزالة الـ 13 وحدة القديمة. الكائنات التي تُرجعها API لا تتأثر: root.ogg_package وما شابهها لا يزال يُعيد نفس الفئات، الآن مستوردة من الوحدات الجديدة.
الميزات الجديدة
سطر الأوامر: groupdocs-metadata
تثبيت الحزمة يضيف أمر groupdocs-metadata إلى PATH (كما يمكن تشغيله عبر python -m groupdocs.metadata) للاستخدام في الصدفة، قواعد Make، وخطوات CI:
groupdocs-metadata info photo.jpg # الصيغة، نوع MIME، الحجم، الصفحات، التشفير
groupdocs-metadata show report.docx --tag person # المؤلف، المحرر، … مع العلامات الخاصة بهم
groupdocs-metadata clean report.docx # يكتب report.clean.docx
groupdocs-metadata remove photo.jpg --tag person.creator -o photo-anon.jpg
groupdocs-metadata export report.pdf -o metadata.json # json، csv، xlsx، xls أو xml
groupdocs-metadata list-formats
--tag يأخذ فئة (person، time، content، …) أو علامة واحدة داخلها (person.creator)، بنفس الشكل الذي يطبعه الأمر show. تُقرأ الملفات عبر تدفق، لذا تعمل المدخلات للقراءة فقط، ولا يقوم clean / remove بالكتابة فوق الملف الأصلي إلا إذا تم تحديد اسم خروج بـ -o. كل أمر يقبل --password، و--license يطبق الترخيص أولًا.
أرشيف Apple، GZIP، BZ2، XZ و Zstandard
محرك 26.8 يقرأ بيانات التعريف لخمس تنسيقات أرشيف إضافية. كل منها يمتلك حزمة جذر خاصة به في groupdocs.metadata.formats.archive:
from groupdocs.metadata import Metadata
with Metadata("archive.gz") as metadata:
print(metadata.get_document_info().file_type.file_format.name) # GZIP
print(metadata.get_root_package().gzip_package.total_entries)
with Metadata("archive.aar") as metadata:
aar = metadata.get_root_package().aar_package
print(aar.total_entries)
for entry in aar.files:
print(entry.name, entry.length, entry.is_directory)
bz2_package، xz_package وzstd_package تعمل بنفس الطريقة (انظر المشكلات المعروفة للحقول التي لم تُملأ بعد). في 26.7، كانت ملفات GZIP وBZ2 وAAR تُثير NotImplementedError، وكانت ملفات XZ وZstandard تُقرأ خطأً كملفات MP3 صوتية.
استعادة فتح عروض PowerPoint
كان فتح ملفات PowerPoint — .pptx، .ppt، .pot وغيرها من صيغ العروض — يفشل في 26.7 على Windows وLinux وmacOS مع الخطأ DllNotFoundException: Unable to load … aspose.slides.drawing.capi…، لأن مكتبة الأصلية التي يحتاجها المحرك للعروض كانت مفقودة من الحزمة. الآن تُضمّن هذه المكتبة في كل عجلة (wheel) من 26.9، وعلى Windows تقوم الحزمة بتحميلها ذاتيًا، لذا تُفتح العروض أيضًا تحت Python المتوفر عبر Microsoft Store، الذي لا يبحث في PATH عن المكتبات الأصلية.
مثال على الكود
from groupdocs.metadata import Metadata
# قراءة بيانات تعريف GZIP
with Metadata("archive.gz") as metadata:
print("Format:", metadata.get_document_info().file_type.file_format.name)
print("Total entries:", metadata.get_root_package().gzip_package.total_entries)
# قراءة بيانات تعريف Apple Archive
with Metadata("archive.aar") as metadata:
aar = metadata.get_root_package().aar_package
print("Total files:", aar.total_entries)
for entry in aar.files:
print(f"- {entry.name} ({entry.length} bytes)")
كيفية الحصول على التحديث
PyPI
التثبيت أو الترقية عبر PyPI:
pip install groupdocs-metadata-net==26.9.0
صفحة الحزمة: groupdocs-metadata-net 26.9.0 on PyPI
التحميل المباشر
حمّل ملفات العجلة لجميع المنصات من صفحة إصدارات GroupDocs.Metadata for Python 26.9.