Wir freuen uns, die Veröffentlichung von GroupDocs.Metadata für Python v26.9 bekannt zu geben, verfügbar seit September 2026. Dieses Release aktualisiert die zugrunde liegende Engine von 26.6 auf 26.8, führt eine Befehlszeilenschnittstelle ein, fügt Unterstützung für fünf neue Archivformate (Apple Archive, GZIP, BZ2, XZ und Zstandard) hinzu, stellt die Unterstützung für PowerPoint‑Präsentationen auf allen Plattformen wieder her und behebt kritische Kompatibilitätsprobleme, die Python 3.5–3.7 sowie ältere Linux‑/macOS‑Systeme betrafen. Beachten Sie, dass dieses Release eine breaking change enthält: 105 Formatklassen wurden von sub-namespaces in ihre übergeordneten Module verschoben.
Was ist neu in dieser Version
- [Feature] Befehlszeilenschnittstelle im Paket bereitstellen (METADATAPYTHON-39)
- [Feature] Unterstützung für das Lesen von Apple Archive (AAR), GZIP, BZ2, XZ und Zstandard‑Archiven hinzufügen (METADATAPYTHON-62)
- [Enhancement] GroupDocs.Metadata‑Engine von 26.6 auf 26.8 aktualisieren (METADATAPYTHON-63)
- [Enhancement] Eingebettete .NET‑Runtime von 10.0.0 auf 10.0.12 aktualisieren (METADATAPYTHON-64)
- [Enhancement] Ogg‑, FB2‑, Mobi‑, MSG‑, DNG‑, SVG‑, Raw‑Tag‑, CR2‑ und 3D‑Formatklassen in ihre übergeordneten Module verschieben, wie in der Engine 26.8 (METADATAPYTHON-65)
- [Enhancement]
libgdiplus/mono-libgdiplus‑Abhängigkeit unter Linux und macOS entfernen (METADATAPYTHON-66) - [Enhancement]
FileTypeFeatureSupportsowie die EnumsProductFeature,SupportLevelundFormatFamilyzur Python‑API hinzufügen (METADATAPYTHON-67) - [Enhancement]
get()zu indizierten Paketen und Sammlungen,append()zuIptcRecordSetund einen parameterlosenRectangle()‑Konstruktor hinzufügen (METADATAPYTHON-68) - [Enhancement] API‑Referenz für jedes Modul veröffentlichen, einschließlich
formats.*undstandards.*(METADATAPYTHON-69) - [Fix] PowerPoint‑Präsentationen konnten nicht geöffnet werden:
DllNotFoundExceptionfüraspose.slides.drawing.capi(METADATAPYTHON-50) - [Fix] Lesen eines EXIF‑Tags über
TiffTagIDschlägt unter Python 3.5 – 3.10 fehl (METADATAPYTHON-51) - [Fix] Das Paket kann unter Python 3.5 – 3.7 nicht verwendet werden (METADATAPYTHON-70)
- [Fix]
pipinstalliert das Paket auf Linux‑ und macOS‑Versionen, die es nicht ausführen können (METADATAPYTHON-71)
Änderungen der öffentlichen API
Neue Klassen und Mitglieder
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, dieselben fünf Mitglieder vonFileFormatundMetadataTypesowieFileType.AVIF.groupdocs.metadata.common:FileTypeFeatureSupport,FeatureSupportund die EnumsProductFeature,SupportLevelundFormatFamily.get()bei indizierten Paketen und Sammlungen —MetadataPackage,ExifDictionaryBasePackage,IptcRecordSet,IptcRecord,XmpLangAltund anderen — als Alternative zupackage[key]. Die zuvor vorhandeneitem‑Eigenschaft dieser Klassen konnte nicht aufgerufen werden und wurde entfernt.IptcRecordSet.append()und ein parameterloserRectangle()‑Konstruktor.
In das übergeordnete Modul verschoben
| Altes Modul (26.7) | Neues Modul (26.9) | Klassen |
|---|---|---|
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 von 58 Klassen (Cr2MakerNotePackage, Cr2CameraSettingsPackage, die Cr2…Index‑Enums, …) |
groupdocs.metadata.formats.three_d.dae / .fbx / .gltf / .stl / .three_ds |
groupdocs.metadata.formats.three_d |
DaeNode, DaePackage, DaeRootPackage, die Klassen Fbx…, Gltf…, Stl… und ThreeDS… |
Die 13 alten Module wurden entfernt. Objekte, die von der API zurückgegeben werden, sind unverändert: root.ogg_package und ähnliche geben weiterhin dieselben Klassen zurück, die nun aus den neuen Modulen importiert werden.
Neue Funktionen
Befehlszeile: groupdocs-metadata
Durch die Installation des Pakets wird ein groupdocs-metadata‑Befehl in den PATH gelegt (auch python -m groupdocs.metadata), für Shells, Make‑Regeln und CI‑Schritte:
groupdocs-metadata info photo.jpg # Format, MIME‑Typ, Größe, Seiten, Verschlüsselung
groupdocs-metadata show report.docx --tag person # Autor, Editor … mit ihren Tags
groupdocs-metadata clean report.docx # schreibt 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 oder xml
groupdocs-metadata list-formats
--tag akzeptiert eine Kategorie (person, time, content, …) oder ein Tag darin (person.creator), in derselben Form, die show ausgibt. Dateien werden über einen Stream gelesen, sodass nur‑Lese‑Eingaben funktionieren, und clean / remove überschreiben die Eingabedatei niemals, es sei denn, -o gibt einen anderen Namen an. Jeder Befehl akzeptiert --password, und --license wendet zuerst eine Lizenz an.
Apple Archive, GZIP, BZ2, XZ und Zstandard‑Archive
Die Engine 26.8 liest die Metadaten von fünf weiteren Archivformaten. Jedes hat sein eigenes Root‑Package in 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 und zstd_package funktionieren analog (siehe Bekannte Probleme für die Felder, die noch nicht gefüllt werden). In 26.7 lösten GZIP‑, BZ2‑ und AAR‑Dateien NotImplementedError aus, und XZ‑ sowie Zstandard‑Dateien wurden fälschlich als MP3‑Audio gelesen.
PowerPoint‑Präsentationen öffnen wieder
Das Öffnen einer PowerPoint‑Datei — .pptx, .ppt, .pot und die anderen Präsentationsformate — schlug in 26.7 unter Windows, Linux und macOS mit DllNotFoundException: Unable to load … aspose.slides.drawing.capi… fehl, weil die native Bibliothek, die die Engine für Präsentationen benötigt, im Wheel fehlte. Sie ist nun in jedem 26.9‑Wheel enthalten, und unter Windows lädt das Paket sie selbst, sodass Präsentationen auch unter dem Microsoft‑Store‑Python funktionieren, das nicht im PATH nach nativen Bibliotheken sucht.
Codebeispiel
from groupdocs.metadata import Metadata
# GZIP‑Metadaten lesen
with Metadata("archive.gz") as metadata:
print("Format:", metadata.get_document_info().file_type.file_format.name)
print("Gesamtzahl Einträge:", metadata.get_root_package().gzip_package.total_entries)
# Apple Archive‑Metadaten lesen
with Metadata("archive.aar") as metadata:
aar = metadata.get_root_package().aar_package
print("Gesamtdateien:", aar.total_entries)
for entry in aar.files:
print(f"- {entry.name} ({entry.length} Bytes)")
Wie man das Update erhält
PyPI
Installation oder Upgrade über PyPI:
pip install groupdocs-metadata-net==26.9.0
Paketseite: groupdocs-metadata-net 26.9.0 on PyPI
Direkter Download
Wheel‑Dateien für alle Plattformen von der GroupDocs.Metadata for Python 26.9 release page herunterladen.