نحن سعداء بالإعلان عن إصدار 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.

الموارد