ما خوشحالیم که انتشار GroupDocs.Metadata for Python v26.9 را اعلام میکنیم که از سپتامبر 2026 در دسترس است. این نسخه موتور زیرساخت را از 26.6 به 26.8 ارتقا میدهد، یک رابط خط فرمان معرفی میکند، پشتیبانی از پنج فرمت آرشیو جدید (Apple Archive، GZIP، BZ2، XZ و Zstandard) را اضافه میکند، پشتیبانی از ارائههای PowerPoint را در تمام پلتفرمها بازگردانده و مشکلات سازگاری بحرانی که بر Python 3.5–3.7 و سیستمهای قدیمی Linux/macOS تأثیر میگذاشتند، رفع میکند. توجه داشته باشید که این انتشار شامل یک تغییر شکستهکننده است: 105 کلاس فرمت از زیرفضاهای نام به ماژولهای والد خود منتقل شدهاند.
What’s new in this release
- [Feature] ارائه رابط خط فرمان درون بسته (METADATAPYTHON-39)
- [Feature] افزودن پشتیبانی از خواندن آرشیوهای Apple Archive (AAR)، GZIP، BZ2، XZ و Zstandard (METADATAPYTHON-62)
- [Enhancement] بهروزرسانی موتور GroupDocs.Metadata از 26.6 به 26.8 (METADATAPYTHON-63)
- [Enhancement] بهروزرسانی زمان اجرا .NET جاسازیشده از 10.0.0 به 10.0.12 (METADATAPYTHON-64)
- [Enhancement] انتقال کلاسهای فرمت Ogg، FB2، Mobi، MSG، DNG، SVG، برچسب raw، CR2 و 3D به ماژولهای والد، همانند موتور 26.8 (METADATAPYTHON-65)
- [Enhancement] حذف نیاز به
libgdiplus/mono-libgdiplusدر Linux و macOS (METADATAPYTHON-66) - [Enhancement] افزودن
FileTypeFeatureSupportو enumهایProductFeature،SupportLevelوFormatFamilyبه API پایتون (METADATAPYTHON-67) - [Enhancement] افزودن
get()به بستهها و مجموعههای ایندکسشده،append()بهIptcRecordSetو سازنده بدون آرگومانRectangle()(METADATAPYTHON-68) - [Enhancement] انتشار مرجع API برای هر ماژول، شامل
formats.*وstandards.*(METADATAPYTHON-69) - [Fix] عدم توانایی باز کردن ارائههای PowerPoint:
DllNotFoundExceptionبرایaspose.slides.drawing.capi(METADATAPYTHON-50) - [Fix] خواندن برچسب EXIF با
TiffTagIDدر Python 3.5 – 3.10 شکست میخورد (METADATAPYTHON-51) - [Fix] عدم توانایی استفاده از بسته در Python 3.5 – 3.7 (METADATAPYTHON-70)
- [Fix] pip بسته را بر روی نسخههای Linux و macOS نصب میکند که قادر به اجرای آن نیستند (METADATAPYTHON-71)
تغییرات API عمومی
کلاسها و اعضای جدید
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, همان پنج عضوFileFormatوMetadataType، وFileType.AVIF.groupdocs.metadata.common:FileTypeFeatureSupport,FeatureSupport, و enumهایProductFeature,SupportLevelوFormatFamily.get()روی بستهها و مجموعههای ایندکسشده —MetadataPackage,ExifDictionaryBasePackage,IptcRecordSet,IptcRecord,XmpLangAltو سایرین — بهعنوان جایگزینی برایpackage[key]. ویژگیitemکه این کلاسها ارائه میدادند قابل فراخوانی نبود و حذف شد.IptcRecordSet.append()و سازنده بدون آرگومانRectangle().
جابجا شده به ماژول والد
| ماژول قدیمی (26.7) | ماژول جدید (26.9) | کلاسها |
|---|---|---|
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 از 58 کلاس آن (Cr2MakerNotePackage, Cr2CameraSettingsPackage, enumهای Cr2…Index, …) |
groupdocs.metadata.formats.three_d.dae / .fbx / .gltf / .stl / .three_ds |
groupdocs.metadata.formats.three_d |
DaeNode, DaePackage, DaeRootPackage, کلاسهای Fbx…, Gltf…, Stl… و ThreeDS… |
۱۳ ماژول قدیمی حذف شدهاند. اشیائی که توسط API بازگردانده میشوند تحت تأثیر نیستند: root.ogg_package و مشابه آن همان کلاسها را برمیگردانند، که اکنون از ماژولهای جدید وارد میشوند.
ویژگیهای جدید
خط فرمان: groupdocs-metadata
نصب بسته یک فرمان groupdocs-metadata را در PATH قرار میدهد (همچنین python -m groupdocs.metadata)، برای شلها، قوانین Make و مراحل 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 یک دستهبندی (person, time, content, …) یا یک برچسب داخل آن (person.creator) را میگیرد، به همان شکلی که show چاپ میکند. فایلها از طریق یک جریان خوانده میشوند، بنابراین ورودیهای فقط‑خواندنی کار میکنند، و clean / remove هرگز ورودی را بازنویسی نمیکنند مگر اینکه -o نام آن را بدهد. هر فرمان --password میگیرد و --license ابتدا یک لایسنس اعمال میکند.
آرشیوهای Apple Archive، GZIP، BZ2، XZ و Zstandard
موتور 26.8 متادیتای پنج فرمت آرشیو دیگر را میخواند. هر کدام بسته ریشه خود را در 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 و zstd_package به همان شکل کار میکنند (برای فیلدهایی که هنوز پر نشدهاند به Known Issues مراجعه کنید). در 26.7، فایلهای GZIP، BZ2 و AAR NotImplementedError ایجاد میکردند و فایلهای XZ و Zstandard بهعنوان صوت MP3 خوانده میشدند.
بازگشت قابلیت باز کردن ارائههای PowerPoint
باز کردن یک فایل PowerPoint — .pptx، .ppt، .pot و سایر فرمتهای ارائه — در 26.7 در ویندوز، لینوکس و macOS با خطای DllNotFoundException: Unable to load … aspose.slides.drawing.capi… شکست میخورد، زیرا کتابخانه بومی که موتور برای ارائهها نیاز دارد در wheel موجود نبود. این کتابخانه در هر wheel نسخه 26.9 گنجانده شده است و در ویندوز بسته اکنون خود آن را بارگذاری میکند، بنابراین ارائهها تحت Python فروشگاه مایکروسافت که مسیر PATH را برای کتابخانههای بومی جستجو نمیکند نیز باز میشوند.
مثال کد
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)")
نحوه دریافت بهروزرسانی
PyPI
نصب یا ارتقاء از طریق PyPI:
pip install groupdocs-metadata-net==26.9.0
Package page: groupdocs-metadata-net 26.9.0 on PyPI
دانلود مستقیم
فایلهای wheel برای تمام پلتفرمها را از صفحه انتشار GroupDocs.Metadata for Python 26.9 release page دانلود کنید.