Z przyjemnością ogłaszamy wydanie GroupDocs.Metadata for Python v26.9, dostępne od września 2026. To wydanie aktualizuje podstawowy silnik z 26.6 do 26.8, wprowadza interfejs wiersza poleceń, dodaje obsługę pięciu nowych formatów archiwów (Apple Archive, GZIP, BZ2, XZ i Zstandard), przywraca obsługę prezentacji PowerPoint na wszystkich platformach oraz naprawia krytyczne problemy kompatybilności wpływające na Pythona 3.5–3.7 i starsze systemy Linux/macOS. Należy zauważyć, że to wydanie zawiera zmianę łamiącą kompatybilność: 105 klas formatów zostało przeniesionych z pod‑przestrzeni nazw do ich modułów nadrzędnych.

What’s new in this release

  • [Feature] Udostępnij interfejs wiersza poleceń w pakiecie (METADATAPYTHON-39)
  • [Feature] Dodaj obsługę odczytu archiwów Apple Archive (AAR), GZIP, BZ2, XZ i Zstandard (METADATAPYTHON-62)
  • [Enhancement] Zaktualizuj silnik GroupDocs.Metadata z 26.6 do 26.8 (METADATAPYTHON-63)
  • [Enhancement] Zaktualizuj wbudowane środowisko .NET z 10.0.0 do 10.0.12 (METADATAPYTHON-64)
  • [Enhancement] Przenieś klasy formatów Ogg, FB2, Mobi, MSG, DNG, SVG, raw tag, CR2 i 3D do ich modułów nadrzędnych, tak jak w silniku 26.8 (METADATAPYTHON-65)
  • [Enhancement] Usuń wymóg libgdiplus / mono-libgdiplus w systemach Linux i macOS (METADATAPYTHON-66)
  • [Enhancement] Dodaj FileTypeFeatureSupport oraz wyliczenia ProductFeature, SupportLevel i FormatFamily do API Pythona (METADATAPYTHON-67)
  • [Enhancement] Dodaj metodę get() do pakietów i kolekcji indeksowanych, append() do IptcRecordSet oraz konstruktor Rectangle() bez argumentów (METADATAPYTHON-68)
  • [Enhancement] Opublikuj referencję API dla każdego modułu, w tym formats.* i standards.* (METADATAPYTHON-69)
  • [Fix] Nie można otworzyć prezentacji PowerPoint: DllNotFoundException dla aspose.slides.drawing.capi (METADATAPYTHON-50)
  • [Fix] Odczyt tagu EXIF przez TiffTagID nie działa w Pythonie 3.5 – 3.10 (METADATAPYTHON-51)
  • [Fix] Nie można używać pakietu w Pythonie 3.5 – 3.7 (METADATAPYTHON-70)
  • [Fix] pip instaluje pakiet na wersjach Linux i macOS, które nie mogą go uruchomić (METADATAPYTHON-71)

Public API changes

Nowe klasy i członkowie

  • 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, tych samych pięć członków FileFormat i MetadataType, oraz FileType.AVIF.
  • groupdocs.metadata.common: FileTypeFeatureSupport, FeatureSupport oraz wyliczenia ProductFeature, SupportLevel i FormatFamily.
  • get() w pakietach i kolekcjach indeksowanych — MetadataPackage, ExifDictionaryBasePackage, IptcRecordSet, IptcRecord, XmpLangAlt i innych — jako alternatywa dla package[key]. Właściwość item, którą te klasy udostępniały, nie mogła być wywołana i została usunięta.
  • IptcRecordSet.append(), oraz konstruktor Rectangle() bez argumentów.

Przeniesiono do modułu nadrzędnego

Stary moduł (26.7) Nowy moduł (26.9) Klasy
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 z 58 klas (Cr2MakerNotePackage, Cr2CameraSettingsPackage, wyliczenia Cr2…Index, …)
groupdocs.metadata.formats.three_d.dae / .fbx / .gltf / .stl / .three_ds groupdocs.metadata.formats.three_d DaeNode, DaePackage, DaeRootPackage, klasy Fbx…, Gltf…, Stl… i ThreeDS…

13 starych modułów zostało usuniętych. Obiekty zwracane przez API nie uległy zmianie: root.ogg_package i podobne zwracają te same klasy, teraz importowane z nowych modułów.

Nowe funkcje

Wiersz poleceń: groupdocs-metadata

Instalacja pakietu umieszcza polecenie groupdocs-metadata w PATH (również python -m groupdocs.metadata), dostępne w powłokach, regułach Make i krokach 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 przyjmuje kategorię (person, time, content, …) lub jeden tag w niej (person.creator), w takiej samej formie, jaką wypisuje show. Pliki są odczytywane przez strumień, więc wejścia tylko do odczytu działają, a clean / remove nigdy nie nadpisują wejścia, chyba że zostanie podane -o. Każde polecenie przyjmuje --password, a --license najpierw stosuje licencję.

Archiwa Apple Archive, GZIP, BZ2, XZ i Zstandard

Silnik 26.8 odczytuje metadane pięciu dodatkowych formatów archiwów. Każdy z nich ma własny pakiet główny w 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 i zstd_package działają w ten sam sposób (zobacz Known Issues dla pól, które jeszcze nie są wypełnione). W 26.7 pliki GZIP, BZ2 i AAR wywoływały NotImplementedError, a pliki XZ i Zstandard były błędnie odczytywane jako audio MP3.

Prezentacje PowerPoint otwierają się ponownie

Otwieranie pliku PowerPoint — .pptx, .ppt, .pot i innych formatów prezentacji — nie powiodło się w 26.7 na Windows, Linux i macOS z DllNotFoundException: Unable to load … aspose.slides.drawing.capi…, ponieważ natywna biblioteka potrzebna silnikowi do prezentacji brakowała w pakiecie wheel. Jest ona zawarta w każdym wheelu 26.9, a w Windows pakiet teraz sam ją ładuje, więc prezentacje otwierają się również w Pythonie z Microsoft Store, który nie przeszukuje PATH w poszukiwaniu natywnych bibliotek.

Przykład kodu

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)")

Jak uzyskać aktualizację

PyPI

Zainstaluj lub zaktualizuj za pomocą PyPI:

pip install groupdocs-metadata-net==26.9.0

Package page: groupdocs-metadata-net 26.9.0 on PyPI

Direct download

Pobierz pliki wheel dla wszystkich platform ze strony wydania GroupDocs.Metadata for Python 26.9.

Zasoby