Nous sommes heureux d’annoncer la sortie de GroupDocs.Metadata for Python v26.9, disponible depuis septembre 2026. Cette version met à jour le moteur sous‑jacent de la version 26.6 à la version 26.8, introduit une interface en ligne de commande, ajoute la prise en charge de cinq nouveaux formats d’archive (Apple Archive, GZIP, BZ2, XZ et Zstandard), restaure la prise en charge des présentations PowerPoint sur toutes les plateformes et corrige des problèmes de compatibilité critiques affectant Python 3.5–3.7 ainsi que les anciens systèmes Linux/macOS. Notez que cette version comprend une rupture de compatibilité : 105 classes de format ont été déplacées des sous‑espaces de noms vers leurs modules parents.
Nouveautés de cette version
- [Fonctionnalité] Fournir une interface en ligne de commande dans le package (METADATAPYTHON-39)
- [Fonctionnalité] Ajouter la prise en charge de la lecture des archives Apple Archive (AAR), GZIP, BZ2, XZ et Zstandard (METADATAPYTHON-62)
- [Amélioration] Mettre à jour le moteur GroupDocs.Metadata de la version 26.6 à la version 26.8 (METADATAPYTHON-63)
- [Amélioration] Mettre à jour le runtime .NET intégré de la version 10.0.0 à la version 10.0.12 (METADATAPYTHON-64)
- [Amélioration] Déplacer les classes de format Ogg, FB2, Mobi, MSG, DNG, SVG, balise raw, CR2 et 3D dans leurs modules parents, comme dans le moteur 26.8 (METADATAPYTHON-65)
- [Amélioration] Supprimer la dépendance
libgdiplus/mono-libgdiplussous Linux et macOS (METADATAPYTHON-66) - [Amélioration] Ajouter
FileTypeFeatureSupportainsi que les énumérationsProductFeature,SupportLeveletFormatFamilyà l’API Python (METADATAPYTHON-67) - [Amélioration] Ajouter
get()aux packages et collections indexés,append()àIptcRecordSet, et un constructeurRectangle()sans argument (METADATAPYTHON-68) - [Amélioration] Publier la référence API pour chaque module, y compris
formats.*etstandards.*(METADATAPYTHON-69) - [Correction] Impossible d’ouvrir les présentations PowerPoint :
DllNotFoundExceptionpouraspose.slides.drawing.capi(METADATAPYTHON-50) - [Correction] La lecture d’une balise EXIF par
TiffTagIDéchoue sous Python 3.5 – 3.10 (METADATAPYTHON-51) - [Correction] Impossible d’utiliser le package sous Python 3.5 – 3.7 (METADATAPYTHON-70)
- [Correction] pip installe le package sur des versions Linux et macOS qui ne peuvent pas l’exécuter (METADATAPYTHON-71)
Modifications de l’API publique
Nouvelles classes et membres
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, les mêmes cinq membres deFileFormatetMetadataType, ainsi queFileType.AVIF.groupdocs.metadata.common:FileTypeFeatureSupport,FeatureSupport, et les énumérationsProductFeature,SupportLeveletFormatFamily.get()sur les packages et collections indexés —MetadataPackage,ExifDictionaryBasePackage,IptcRecordSet,IptcRecord,XmpLangAltet autres — comme alternative àpackage[key]. La propriétéitemexposée par ces classes ne pouvait pas être appelée et a été supprimée.IptcRecordSet.append(), et un constructeurRectangle()sans argument.
Déplacés vers le module parent
| Ancien module (26.7) | Nouveau module (26.9) | Classes |
|---|---|---|
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 de ses 58 classes (Cr2MakerNotePackage, Cr2CameraSettingsPackage, les énumérations Cr2…Index, …) |
groupdocs.metadata.formats.three_d.dae / .fbx / .gltf / .stl / .three_ds |
groupdocs.metadata.formats.three_d |
DaeNode, DaePackage, DaeRootPackage, les classes Fbx…, Gltf…, Stl… et ThreeDS… |
Les 13 anciens modules sont supprimés. Les objets renvoyés par l’API ne sont pas affectés : root.ogg_package et similaires renvoient les mêmes classes, désormais importées depuis les nouveaux modules.
Nouvelles fonctionnalités
Ligne de commande : groupdocs-metadata
L’installation du package place une commande groupdocs-metadata sur le PATH (également python -m groupdocs.metadata), utilisable dans les shells, les règles Make et les étapes CI :
groupdocs-metadata info photo.jpg # format, type MIME, taille, pages, chiffrement
groupdocs-metadata show report.docx --tag person # auteur, éditeur, … avec leurs balises
groupdocs-metadata clean report.docx # écrit 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 ou xml
groupdocs-metadata list-formats
--tag accepte une catégorie (person, time, content, …) ou une balise de cette catégorie (person.creator), sous la même forme que show l’affiche. Les fichiers sont lus via un flux, de sorte que les entrées en lecture seule fonctionnent, et clean / remove n’écrasent jamais l’entrée sauf si l’option -o la renomme. Chaque commande accepte --password, et --license applique d’abord une licence.
Archives Apple Archive, GZIP, BZ2, XZ et Zstandard
Le moteur 26.8 lit les métadonnées de cinq archives supplémentaires. Chacune possède son propre package racine dans 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 et zstd_package fonctionnent de la même manière (voir Problèmes connus pour les champs qui ne sont pas encore remplis). En 26.7, les fichiers GZIP, BZ2 et AAR déclenchaient NotImplementedError, et les fichiers XZ et Zstandard étaient mal interprétés comme audio MP3.
Les présentations PowerPoint s’ouvrent à nouveau
L’ouverture d’un fichier PowerPoint — .pptx, .ppt, .pot et les autres formats de présentation — échouait en 26.7 sous Windows, Linux et macOS avec DllNotFoundException: Unable to load … aspose.slides.drawing.capi…, car la bibliothèque native requise par le moteur pour les présentations était absente du wheel. Elle est désormais incluse dans chaque wheel 26.9, et sous Windows le package la charge lui‑même, de sorte que les présentations s’ouvrent également avec le Python du Microsoft Store, qui ne recherche pas les bibliothèques natives dans le PATH.
Exemple de code
from groupdocs.metadata import Metadata
# Lire les métadonnées GZIP
with Metadata("archive.gz") as metadata:
print("Format :", metadata.get_document_info().file_type.file_format.name)
print("Nombre total d’entrées :", metadata.get_root_package().gzip_package.total_entries)
# Lire les métadonnées Apple Archive
with Metadata("archive.aar") as metadata:
aar = metadata.get_root_package().aar_package
print("Nombre total de fichiers :", aar.total_entries)
for entry in aar.files:
print(f"- {entry.name} ({entry.length} octets)")
Comment obtenir la mise à jour
PyPI
Installez ou mettez à jour via PyPI :
pip install groupdocs-metadata-net==26.9.0
Page du package : groupdocs-metadata-net 26.9.0 on PyPI
Téléchargement direct
Téléchargez les fichiers wheel pour toutes les plateformes depuis la page de notes de version GroupDocs.Metadata for Python 26.9.