OneNote में पेज मेटाडेटा कैसे पढ़ें Python में
OneNote .one फ़ाइलें मेटाडेटा संग्रहीत करती हैं जिसे आप पूरे दस्तावेज़ DOM को पार्स किए बिना पढ़ सकते हैं। यहाँ दस्तावेज़ स्तर, Document.FileFormat बताता है कि फ़ाइल कौन सा OneNote संस्करण उपयोग करती है। यहाँ पृष्ठ स्तर, प्रत्येक Page लेखक, निर्माण टाइमस्टैम्प, अंतिम-परिवर्तित टाइमस्टैम्प, और पदानुक्रम स्तर को ले जाता है। Aspose.Note FOSS for Python इनको निम्नलिखित के माध्यम से उजागर करता है। Document और Page क्लासेज़।.
पूर्वापेक्षाएँ
pip install aspose-noteदस्तावेज़-स्तर मेटाडेटा
यह Document ऑब्जेक्ट एक मेटाडेटा प्रॉपर्टी उजागर करता है:
| प्रॉपर्टी | प्रकार | विवरण |
|---|---|---|
doc.FileFormat | FileFormat | OneNote संस्करण: FileFormat.OneNote2010, FileFormat.OneNoteOnline, या FileFormat.Unknown. |
from aspose.note import Document
doc = Document("MyNotes.one")
print(f"File format: {doc.FileFormat}")पेज-स्तर मेटाडेटा
प्रत्येक Page ऑब्जेक्ट लेता है:
| गुण | प्रकार | विवरण |
|---|---|---|
page.Author | `str | None` |
page.CreationTime | `datetime | None` |
page.LastModifiedTime | `datetime | None` |
page.Level | `int | None` |
चरण 1: प्रत्येक पेज के लिए मेटाडेटा पढ़ें
from aspose.note import Document, Page
doc = Document("ProjectNotes.one")
for i, page in enumerate(doc, start=1):
title = ""
if page.Title and page.Title.TitleText:
title = page.Title.TitleText.Text.strip()
level = page.Level or 0
indent = " " * level
author = page.Author or "(unknown)"
created = page.CreationTime.strftime("%Y-%m-%d") if page.CreationTime else "(none)"
modified = page.LastModifiedTime.strftime("%Y-%m-%d %H:%M") if page.LastModifiedTime else "(none)"
print(f"{indent}[{i}] {title or '(untitled)'}")
print(f"{indent} Author: {author}")
print(f"{indent} Created: {created}")
print(f"{indent} Modified: {modified}")
print(f"{indent} Level: {level}")पूर्ण उदाहरण: मेटाडेटा रिपोर्ट
from aspose.note import Document
def print_metadata_report(one_path: str) -> None:
doc = Document(one_path)
print()
for i, page in enumerate(doc, start=1):
title = ""
if page.Title and page.Title.TitleText:
title = page.Title.TitleText.Text.strip()
level = page.Level or 0
prefix = " " * level + f"[{i}]"
parts = [prefix, f'"{title or "(untitled)"}"']
if page.Author:
parts.append(f"by {page.Author}")
if page.CreationTime:
parts.append(f"created {page.CreationTime.strftime('%Y-%m-%d')}")
if page.LastModifiedTime:
parts.append(f"modified {page.LastModifiedTime.strftime('%Y-%m-%d')}")
print(" ".join(parts))
print_metadata_report("ProjectNotes.one")सब-पेजों का पता लगाना
OneNote में, उप-पृष्ठ दृश्य रूप से उनके मूल पृष्ठ के नीचे इंडेंट किए जाते हैं। यह page.Level गुणधर्म इस नेस्टिंग को दर्शाता है:
from aspose.note import Document
doc = Document("MyNotes.one")
for page in doc:
level = page.Level or 0
title = ""
if page.Title and page.Title.TitleText:
title = page.Title.TitleText.Text.strip()
indent = " " * level
marker = "├─" if level > 0 else "•"
print(f"{indent}{marker} {title or '(untitled)'}")लेवल मान:
0: शीर्ष-स्तर पृष्ठ1: पहला-स्तर उप-पृष्ठ (एक इंडेंट)2: दूसरा-स्तर उप-पृष्ठ (दो इंडेंट)
नोट्स
- सभी टाइमस्टैम्प (
CreationTime,LastModifiedTime)datetimeउपलब्ध होने पर UTC में ऑब्जेक्ट्स।. page.Levelवापस देता हैNoneउन पृष्ठों के लिए जहाँ स्तर बाइनरी फ़ॉर्मेट में संग्रहीत नहीं था। इसे मानेंNoneके रूप में0उपयोग करकेpage.Level or 0.