OneNote में पेज मेटाडेटा कैसे पढ़ें Python में

OneNote में पेज मेटाडेटा कैसे पढ़ें Python में

OneNote .one फ़ाइलें मेटाडेटा संग्रहीत करती हैं जिसे आप पूरे दस्तावेज़ DOM को पार्स किए बिना पढ़ सकते हैं। यहाँ दस्तावेज़ स्तर, Document.FileFormat बताता है कि फ़ाइल कौन सा OneNote संस्करण उपयोग करती है। यहाँ पृष्ठ स्तर, प्रत्येक Page लेखक, निर्माण टाइमस्टैम्प, अंतिम-परिवर्तित टाइमस्टैम्प, और पदानुक्रम स्तर को ले जाता है। Aspose.Note FOSS for Python इनको निम्नलिखित के माध्यम से उजागर करता है। Document और Page क्लासेज़।.


पूर्वापेक्षाएँ

pip install aspose-note

दस्तावेज़-स्तर मेटाडेटा

यह Document ऑब्जेक्ट एक मेटाडेटा प्रॉपर्टी उजागर करता है:

प्रॉपर्टीप्रकारविवरण
doc.FileFormatFileFormatOneNote संस्करण: FileFormat.OneNote2010, FileFormat.OneNoteOnline, या FileFormat.Unknown.
from aspose.note import Document

doc = Document("MyNotes.one")
print(f"File format: {doc.FileFormat}")

पेज-स्तर मेटाडेटा

प्रत्येक Page ऑब्जेक्ट लेता है:

गुणप्रकारविवरण
page.Author`strNone`
page.CreationTime`datetimeNone`
page.LastModifiedTime`datetimeNone`
page.Level`intNone`

चरण 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.

संबंधित देखें

 हिन्दी