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-libgdiplus su Linux e macOS (METADATAPYTHON-66)
  • [Enhancement] Aggiungere FileTypeFeatureSupport e gli enum ProductFeature, SupportLevel e FormatFamily all’API Python (METADATAPYTHON-67)
  • [Enhancement] Aggiungere get() ai pacchetti e collezioni indicizzate, append() a IptcRecordSet e un costruttore Rectangle() senza argomenti (METADATAPYTHON-68)
  • [Enhancement] Pubblicare il riferimento API per ogni modulo, inclusi formats.* e standards.* (METADATAPYTHON-69)
  • [Fix] Impossibile aprire le presentazioni PowerPoint: DllNotFoundException per aspose.slides.drawing.capi (METADATAPYTHON-50)
  • [Fix] La lettura di un tag EXIF per TiffTagID fallisce 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 di FileFormat e MetadataType, e FileType.AVIF.
  • groupdocs.metadata.common: FileTypeFeatureSupport, FeatureSupport e gli enum ProductFeature, SupportLevel e FormatFamily.
  • get() sui pacchetti e collezioni indicizzate — MetadataPackage, ExifDictionaryBasePackage, IptcRecordSet, IptcRecord, XmpLangAlt e altri — come alternativa a package[key]. La proprietà item esposta da queste classi non poteva essere chiamata ed è stata rimossa.
  • IptcRecordSet.append(), e un costruttore Rectangle() 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.

Risorse