Siamo felici di annunciare il rilascio di GroupDocs.Metadata for Python v26.9, disponibile a partire da Settembre 2026. Questa versione aggiorna il motore sottostante da 26.6 a 26.8, introduce un’interfaccia a riga di comando, aggiunge il supporto per cinque nuovi formati di archivio (Apple Archive, GZIP, BZ2, XZ e Zstandard), ripristina il supporto per le presentazioni PowerPoint su tutte le piattaforme e corregge problemi critici di compatibilità che interessano Python 3.5–3.7 e sistemi Linux/macOS più vecchi. Si noti che questa versione include una modifica incompatibile: 105 classi di formato sono state spostate da sotto‑namespace ai loro moduli genitori.
Novità di questa versione
- [Feature] Fornire l’interfaccia a riga di comando all’interno del pacchetto (METADATAPYTHON-39)
- [Feature] Aggiungere il supporto per la lettura di archivi Apple Archive (AAR), GZIP, BZ2, XZ e Zstandard (METADATAPYTHON-62)
- [Enhancement] Aggiornare il motore GroupDocs.Metadata da 26.6 a 26.8 (METADATAPYTHON-63)
- [Enhancement] Aggiornare il runtime .NET incorporato da 10.0.0 a 10.0.12 (METADATAPYTHON-64)
- [Enhancement] Spostare le classi di formato Ogg, FB2, Mobi, MSG, DNG, SVG, raw tag, CR2 e 3D nei loro moduli genitori, come nel motore 26.8 (METADATAPYTHON-65)
- [Enhancement] Rimuovere il requisito
libgdiplus/mono-libgdiplussu Linux e macOS (METADATAPYTHON-66) - [Enhancement] Aggiungere
FileTypeFeatureSupporte gli enumProductFeature,SupportLeveleFormatFamilyall’API Python (METADATAPYTHON-67) - [Enhancement] Aggiungere
get()ai pacchetti e collezioni indicizzate,append()aIptcRecordSete un costruttoreRectangle()senza argomenti (METADATAPYTHON-68) - [Enhancement] Pubblicare il riferimento API per ogni modulo, inclusi
formats.*estandards.*(METADATAPYTHON-69) - [Fix] Impossibile aprire le presentazioni PowerPoint:
DllNotFoundExceptionperaspose.slides.drawing.capi(METADATAPYTHON-50) - [Fix] La lettura di un tag EXIF per
TiffTagIDfallisce su Python 3.5 – 3.10 (METADATAPYTHON-51) - [Fix] Impossibile utilizzare il pacchetto su Python 3.5 – 3.7 (METADATAPYTHON-70)
- [Fix] pip installa il pacchetto su versioni Linux e macOS che non possono eseguirlo (METADATAPYTHON-71)
Modifiche all’API pubblica
Nuove classi e membri
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, gli stessi cinque membri diFileFormateMetadataType, eFileType.AVIF.groupdocs.metadata.common:FileTypeFeatureSupport,FeatureSupporte gli enumProductFeature,SupportLeveleFormatFamily.get()sui pacchetti e collezioni indicizzate —MetadataPackage,ExifDictionaryBasePackage,IptcRecordSet,IptcRecord,XmpLangAlte altri — come alternativa apackage[key]. La proprietàitemesposta da queste classi non poteva essere chiamata ed è stata rimossa.IptcRecordSet.append(), e un costruttoreRectangle()senza argomenti.
Spostate nel modulo genitore
| Modulo vecchio (26.7) | Modulo nuovo (26.9) | Classi |
|---|---|---|
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 of its 58 classes (Cr2MakerNotePackage, Cr2CameraSettingsPackage, the Cr2…Index enums, …) |
groupdocs.metadata.formats.three_d.dae / .fbx / .gltf / .stl / .three_ds |
groupdocs.metadata.formats.three_d |
DaeNode, DaePackage, DaeRootPackage, the Fbx…, Gltf…, Stl… and ThreeDS… classes |
I 13 moduli vecchi sono stati rimossi. Gli oggetti restituiti dall’API non sono influenzati: root.ogg_package e simili restituiscono le stesse classi, ora importate dai nuovi moduli.
Nuove funzionalità
Riga di comando: groupdocs-metadata
L’installazione del pacchetto aggiunge il comando groupdocs-metadata al PATH (anche python -m groupdocs.metadata), per shell, regole Make e passaggi CI:
groupdocs-metadata info photo.jpg # format, MIME type, size, pages, encryption
groupdocs-metadata show report.docx --tag person # author, editor, ... with their tags
groupdocs-metadata clean report.docx # writes 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 or xml
groupdocs-metadata list-formats
--tag accetta una categoria (person, time, content, …) o un tag all’interno di essa (person.creator), nello stesso formato stampato da show. I file vengono letti tramite uno stream, quindi gli input in sola lettura funzionano, e clean / remove non sovrascrivono mai l’input a meno che non venga specificato con -o. Ogni comando accetta --password, e --license applica prima una licenza.
Archivi Apple Archive, GZIP, BZ2, XZ e Zstandard
Il motore 26.8 legge i metadati di altri cinque formati di archivio. Ognuno ha il proprio pacchetto radice 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 e zstd_package funzionano allo stesso modo (vedi Known Issues per i campi ancora non compilati). In 26.7, i file GZIP, BZ2 e AAR generavano NotImplementedError, e i file XZ e Zstandard venivano interpretati erroneamente come audio MP3.
Le presentazioni PowerPoint si aprono di nuovo
L’apertura di un file PowerPoint — .pptx, .ppt, .pot e gli altri formati di presentazione — falliva in 26.7 su Windows, Linux e macOS con DllNotFoundException: Unable to load … aspose.slides.drawing.capi…, perché la libreria nativa necessaria al motore per le presentazioni era assente dal wheel. Ora è inclusa in ogni wheel 26.9, e su Windows il pacchetto la carica autonomamente, così le presentazioni si aprono anche con Python del Microsoft Store, che non ricerca PATH per le librerie native.
Esempio di codice
from groupdocs.metadata import Metadata
# Read GZIP metadata
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)
# Read Apple Archive metadata
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)")
Come ottenere l’aggiornamento
PyPI
Installa o aggiorna tramite PyPI:
pip install groupdocs-metadata-net==26.9.0
Package page: groupdocs-metadata-net 26.9.0 on PyPI
Download diretto
Scarica i file wheel per tutte le piattaforme dalla pagina di rilascio GroupDocs.Metadata for Python 26.9.