Introduction
Aspose.Note FOSS for Python (aspose-note на PyPI) є безкоштовною бібліотекою з ліцензією MIT для Читання Microsoft OneNote .one файли та експорт до PDF в чистому Python. Версія 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-notefrom 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)
Підтримувані формати
| Format | Extension | Read | Write |
|---|---|---|---|
| OneNote 2010 | .one | ✓ | — |
| OneNote 2007 року | .one | ✓ | — |
| OneNote онлайн | .one | ✓ | — |
.pdf | — | ✓ |
Відкритий код та ліцензія
Aspose.Note FOSS for Python is released under the MIT License. Install from PyPI as aspose-note.Коммерчне використання, перерозподіл та модифікація дозволені.