管理中繼資料是文件自動化的重要部分,特別是那些處理不同文件格式的應用程式。在本文中,我們將探討如何在 Python 應用程式中管理中繼資料,重點放在提取、修改和移除中繼資料上。
在本指南中,我們將探討以下部分:
什麼是 GroupDocs.Metadata 以及它如何幫助?
GroupDocs.Metadata for Python via .NET 是一個強大的庫,旨在幫助開發者在 Python 應用程式中管理各種文件格式的中繼資料。雖然 Python 提供了提取基本中繼資料(如文件大小、類型和屬性)的原生方法,但這些方法在處理與特定文件格式相關的更複雜中繼資料時顯得不足。GroupDocs.Metadata 填補了這一空白,允許用戶從 PDF、Microsoft Office 格式、圖像、音頻、視頻等文件中提取、更新和移除中繼資料。它還可以訪問詳細信息,如作者、標題、文件格式的特定屬性(包括 GPS 位置數據)等。通過簡單的 API,GroupDocs.Metadata 允許您有效地操作中繼資料,以涵蓋許多文件自動化和數據處理情況。
如何安裝
GroupDocs.Metadata for Python via .NET 可以通過 pip 很容易地安裝。您可以通過以下命令在 Python 專案中引用我們的 API:
pip install groupdocs-metadata-net
快速入門指南
使用 GroupDocs.Metadata for Python via .NET 入門非常快速和簡單,我們的範例專案可以幫助您。以下是一個簡單的指南來幫助您設置:
-
克隆存儲庫:將範例存儲庫克隆到您的本地機器。
git clone https://github.com/groupdocs-metadata/GroupDocs.Metadata-for-Python-via-.NET.git
-
導航到範例文件夾:
cd ./GroupDocs.Metadata-for-Python-via-.NET/
-
安裝必要的套件:
pip install groupdocs-metadata-net
-
運行範例:
python run_examples.py
這將執行一系列範例腳本,展示 GroupDocs.Metadata 庫的各種功能。
主要功能
GroupDocs.Metadata for Python via .NET 配備了一系列功能,使其成為處理文件中繼資料的開發者的有用 API。以下是一些主要功能:
- 豐富的中繼資料管理功能:從各種文件格式中讀取、更新和移除中繼資料。
- 針對屬性操作:搜索、更新和刪除符合特定標準的特定中繼資料屬性。
- 統一屬性管理:使用標籤以一致的方式輕鬆操作常見中繼資料屬性。
- 支持密碼保護文件:處理受保護的文件,確保即使是敏感數據也具有靈活性。
- 文件屬性洞察:提取有關隱藏頁面、數字簽名、用戶評論、修訂等的詳細信息。
- 與流行標準兼容:使用 IPTC、XMP、EXIF 和圖像資源等主要中繼資料標準。
- 多媒體中繼資料處理:操作各種格式的本機中繼資料屬性並從多媒體文件中提取技術信息。
- 文件統計計算:計算文件的常見統計數據,如單詞計數和字符計數。
- 文件格式檢測:根據其內部結構識別文件的格式和 MIME 類型。
- 支持音頻標籤:管理各種音頻標籤,包括 ID3、歌詞和 APE。
常見用例
以下是 GroupDocs.Metadata 在 Python 應用程式中的一些常見用例,以及相應的程式碼片段。
用例 1:從圖像中檢索中繼資料
在本範例中,我們將根據特定標準檢索圖像文件(例如 image.jpg
)的中繼資料屬性。
- 初始化中繼資料對象:使用您的文件創建 Metadata 類的新實例。
- 定義搜索標準:使用搜索規範來查找特定屬性。
- 檢索和顯示中繼資料:檢索匹配的屬性並記錄其名稱和值。
import os
import groupdocs.metadata as gm
from datetime import datetime
def run():
with gm.Metadata("image.jpg") as metadata:
# 檢查文件格式是否已知且文件未加密
if metadata.file_format != gm.common.FileFormat.UNKNOWN and metadata.get_document_info().is_encrypted != True:
# 定義搜索規範以查找所有屬性
specification = gm.search.AnySpecification()
# 根據搜索規範查找屬性
properties = metadata.find_properties(specification)
# 遍歷找到的屬性並打印其名稱和值
for property in properties:
# 使用 interpreted_value 屬性處理複雜數據類型
if not (property.interpreted_value is None):
print(f"屬性名稱: {property.name}, 屬性值: {property.interpreted_value}")
else:
print(f"屬性名稱: {property.name}, 屬性值: {property.value}")
用例 2:清理文件中的中繼資料
在此,我們將清理 PDF 文件中的不需要的中繼資料。
- 加載 PDF:為 PDF 文件創建 Metadata 對象。
- 清理中繼資料:移除檢測到的中繼資料包。
- 保存清理後的文件:將清理後的文件保存到新文件中。
import groupdocs.metadata as gm
def run():
with gm.Metadata("input.pdf") as metadata:
# 移除檢測到的中繼資料包並記錄已移除的屬性
affected = metadata.sanitize()
print(f"已移除的屬性: {affected}")
# 保存清理後的 PDF
metadata.save("output.pdf")
用例 3:更新文件中繼資料
本範例演示了如何更新文件的版權中繼資料,例如當新的一年開始時。該過程涉及三個主要步驟:
- 加載文件:為文件文件初始化 Metadata 對象。
- 設置新屬性:更新文件的版權中繼資料。
- 保存更新後的文件:將更改保存到文件中。
import os
import groupdocs.metadata as gm
import pathlib
from datetime import datetime
def run():
files = os.listdir(input_dir_path)
for file in files:
with gm.Metadata(input_dir_path + file) as metadata:
if metadata.file_format != gm.common.FileFormat.UNKNOWN and metadata.get_document_info().is_encrypted != True:
print()
print(file)
# 定義搜索規範以查找版權屬性
specification = gm.search.ContainsTagSpecification(gm.tagging.Tags.legal.copyright)
# 將版權屬性設置為新值
affected = metadata.set_properties(specification, gm.common.PropertyValue("Copyright (C) 2011-2025 Your Company. All Rights Reserved."))
print(f"受影響的屬性: {affected}")
# 保存更新後的文件
metadata.save(output_dir_path + "output" + pathlib.Path(file).suffix)
開始免費試用
默認情況下,庫在沒有許可證的情況下以試用模式運行,允許您探索其基本功能和功能。您可以從 GroupDocs Releases page 下載 GroupDocs.Metadata for Python via .NET。
此外,您可以從 this link 获取臨時許可證。臨時許可證允許您在沒有任何限制的情況下使用庫,並完全探索其功能。
另請參閱
要深入了解 GroupDocs.Metadata 及其功能,請參考以下資源: