परिचय

Aspose.Note FOSS for Python (aspose-note on PyPI) एक मुफ्त, MIT-लाइसेंस वाली लाइब्रेरी है जो Microsoft OneNote .one फ़ाइलों को पढ़ने और शुद्ध Python में PDF निर्यात करने के लिए है। संस्करण 26.3.2 में पृष्ठों, रूपरेखाओं, रिच-टेक्स्ट नोड्स, चित्रों और संलग्न फ़ाइलों को कवर करने वाला पूर्ण दस्तावेज़ ऑब्जेक्ट मॉडल शामिल है — कोई Microsoft Office इंस्टॉलेशन या Windows निर्भरता आवश्यक नहीं।


मुख्य विशेषताएँ

दस्तावेज़ लोडिंग और फ़ॉर्मेट पहचान

Document ऑब्जेक्ट मॉडल की जड़ है। किसी भी समर्थित OneNote फ़ॉर्मेट को लोड करने के लिए फ़ाइल पथ पास करें। FileFormat प्रॉपर्टी रिपोर्ट करती है कि कौन सा फ़ॉर्मेट पता चला।

from aspose.note import Document, FileFormat

doc = Document("notebook.one")
print(f"Format : {doc.FileFormat}")
print(f"Pages  : {len(list(doc))}")

पृष्ठों और शीर्षकों का अन्वेषण

पृष्ठ Page नोड्स हैं जो सीधे Document के अंतर्गत होते हैं। प्रत्येक Page Author, CreationTime, और Title जैसे मेटाडेटा को उजागर करता है। Title नोड बदले में TitleText, TitleDate, और TitleTime को RichText चाइल्ड्स के रूप में प्रदान करता है।

from aspose.note import Document, Page

doc = Document("notebook.one")
for page in doc.GetChildNodes(Page):
    print(f"Author  : {page.Author}")
    print(f"Created : {page.CreationTime}")
    if page.Title and page.Title.TitleText:
        print(f"Title   : {page.Title.TitleText}")

रिच टेक्स्ट सामग्री पढ़ना

RichText नोड्स वह पत्ती नोड्स होते हैं जो वास्तविक टेक्स्ट सामग्री ले जाते हैं। एक RichText ऑब्जेक्ट को मानक for लूप के साथ इटरैट करें — प्रत्येक आइटम एक स्ट्रिंग सेगमेंट है। नई शैली के साथ नया टेक्स्ट जोड़ने के लिए Append() का उपयोग करें।

from aspose.note import Document, Page, Outline, RichText

doc = Document("notebook.one")
for page in doc.GetChildNodes(Page):
    for rt in page.GetChildNodes(RichText):
        text = "".join(rt)
        if text.strip():
            print(text[:120])

आउटलाइन लेआउट गुण

Outline नोड्स लेआउट कॉर्डिनेट्स को उजागर करते हैं: HorizontalOffset, VerticalOffset, MaxWidth, MaxHeight, और MinWidth। ये पृष्ठों की लेआउट-सेज जागरूक निष्कर्षण या पुनःसंयोजन के लिए उपयोगी हैं।

from aspose.note import Document, Outline

doc = Document("notebook.one")
for outline in doc.GetChildNodes(Outline):
    print(f"HOffset={outline.HorizontalOffset}  VOffset={outline.VerticalOffset}  MaxW={outline.MaxWidth}")

डॉक्यूमेंट ट्री निर्माण

शुरुआत से Document को CompositeNode.AppendChildLast() का उपयोग करके बनाएं। प्रत्येक नोड प्रकार को उसके मान्य पैरेंट में जोड़ा जा सकता है: Page → Document, Outline → Page, RichText नोड्स → Outline।

from aspose.note import Document, Page, Outline, RichText, ParagraphStyle, Title, SaveFormat

doc = Document()
page = Page()

title_text = RichText()
title_text.Append("My New Page", ParagraphStyle())
title = Title()
title.TitleText = title_text
page.Title = title

outline = Outline()
page.AppendChildLast(outline)
doc.AppendChildLast(page)
doc.Save("new_notebook.pdf", SaveFormat.Pdf)

PDF में निर्यात करना

Document.Save() SaveFormat.Pdf को स्वीकार करता है ताकि PDF को फ़ाइल पाथ या BytesIO बफ़र में लिखा जा सके। निर्यात पूरी तरह से प्रक्रिया के भीतर चलता है बिना किसी बाहरी रेंडरर के।

import io
from aspose.note import Document, SaveFormat

doc = Document("notebook.one")

# File output
doc.Save("export.pdf", SaveFormat.Pdf)

# In-memory buffer
buf = io.BytesIO()
doc.Save(buf, SaveFormat.Pdf)
print(f"PDF bytes: {len(buf.getvalue())}")

त्वरित प्रारम्भ

pip install aspose-note-foss
from aspose.note import Document, Page, RichText, SaveFormat

doc = Document("notebook.one")

# Print all text
for page in doc.GetChildNodes(Page):
    for rt in page.GetChildNodes(RichText):
        print("".join(rt))

# Export to PDF
doc.Save("output.pdf", SaveFormat.Pdf)

समर्थित प्रारूप

फ़ॉर्मेटएक्सटेंशनपढ़ेंलिखें
OneNote 2010.one✓—
OneNote 2007.one✓—
OneNote ऑनलाइन.one✓—
PDF.pdf—✓

ओपन सोर्स और लाइसेंसिंग

Aspose.Note FOSS for Python MIT लाइसेंस के तहत जारी किया गया है। PyPI से aspose-note के रूप में स्थापित करें। व्यावसायिक उपयोग, पुनर्वितरण, और संशोधन सभी की अनुमति है।


शुरुआत

संबंधित संसाधन