Aspose.Note FOSS for Python Is Now Available
Мы рады объявить о доступности Aspose.Note FOSS for Python на PyPI. Эта бесплатная, открытая библиотека позволяет разработчикам Python читать Microsoft OneNote .one файлы разделов, обходить их полную модель объектного документа, извлекать содержимое и экспортировать в PDF, без необходимости установки Microsoft Office или какого‑либо проприетарного runtime.
Install it now:
pip install aspose-note
For PDF export:
pip install "aspose-note[pdf]"
What Is Aspose.Note FOSS for Python?
Aspose.Note FOSS for Python is a 100% free, MIT-licensed Python library that provides an Aspose.Note-shaped public API (aspose.note.*) для чтения Microsoft OneNote .one файлы. Он поддерживается встроенным чисто-Python бинарным парсером MS-ONE/OneStore, без COM‑interop, без нативных DLL платформы и без необходимости установки Microsoft Office.
API построен по образцу Aspose.Note for .NET, делая переход знакомым для команд, уже использующих продукты Aspose на других платформах.
Key Capabilities
Read Any .one File
Load OneNote 2010, OneNote Online, and OneNote 2007 section files from a file path or any binary stream:
from aspose.note import Document
doc = Document("MyNotes.one")
print(doc.DisplayName) # Section name
print(len(list(doc))) # Number of pages
Traverse the Full Document DOM
Библиотека предоставляет полную модель объектного документа: Document → Page → Outline → OutlineElement → RichText / Image / Table / AttachedFile. Использовать GetChildNodes(Type) для рекурсивных, типо‑фильтруемых поисков:
from aspose.note import Document, RichText
doc = Document("MyNotes.one")
all_text = [rt.Text for rt in doc.GetChildNodes(RichText) if rt.Text]
Extract Text with Rich Formatting
Каждый RichText узел содержит список TextRun сегментов. Каждый запуск несёт данные для каждого символа TextStyle метаданные: полужирный, курсив, подчёркнутый, название шрифта, цвет шрифта, адрес гиперссылки и многое другое:
from aspose.note import Document, RichText
doc = Document("MyNotes.one")
for rt in doc.GetChildNodes(RichText):
for run in rt.TextRuns:
if run.Style.IsHyperlink:
print(f" Link: {run.Text} -> {run.Style.HyperlinkAddress}")
elif run.Style.IsBold:
print(f" Bold: {run.Text}")
Сохранить изображения и вложения
Получить встроенные изображения в виде необработанных байтов с именем файла и размерами. Сохранить вложенные файлы на диск:
from aspose.note import Document, Image, AttachedFile
doc = Document("MyNotes.one")
for img in doc.GetChildNodes(Image):
with open(img.FileName or "image.bin", "wb") as f:
f.write(img.Bytes)
for af in doc.GetChildNodes(AttachedFile):
with open(af.FileName or "attachment.bin", "wb") as f:
f.write(af.Bytes)
Разбор таблиц
Обход Table → TableRow → TableCell иерархии и читать содержимое ячеек:
from aspose.note import Document, Table, TableRow, TableCell, RichText
doc = Document("MyNotes.one")
for table in doc.GetChildNodes(Table):
for row in table.GetChildNodes(TableRow):
cells = [
" ".join(rt.Text for rt in cell.GetChildNodes(RichText))
for cell in row.GetChildNodes(TableCell)
]
print(cells)
Экспорт в PDF
Сохраните любой загруженный документ в PDF, используя необязательный backend ReportLab. Настройте диапазон страниц и рендеринг значков тегов с помощью PdfSaveOptions:
from aspose.note import Document, SaveFormat
doc = Document("MyNotes.one")
doc.Save("output.pdf", SaveFormat.Pdf)
Поддерживаемые типы контента
| Содержание | Поддерживается |
|---|---|
| Страницы и заголовки страниц | Да |
Простой текст (RichText.Text) | Да |
| Форматированные фрагменты (жирный, курсив, подчёркнутый, шрифт, цвет) | Да |
| Гиперссылки в текстовых блоках | Да |
| Встроенные изображения (байты, имя файла, размеры) | Да |
| Прикреплённые файлы (байты, имя файла) | Да |
| Таблицы (строки, ячейки, ширины столбцов) | Да |
| Теги OneNote (NoteTag: shape, label, color) | Да |
| Нумерованные и маркированные списки (NumberList) | Да |
| Метаданные страницы (author, creation time, level) | Да |
| Экспорт PDF | Да (требуется ReportLab) |
Записать обратно в .one | Не поддерживается |
| Зашифрованные документы | Не поддерживается |
Знакомый API для разработчиков .NET
Команды уже используют Aspose. Примечание: для .NET Python API будет сразу узнаваемым. Основные классы, такие как Document, Page, RichText, Image, DocumentVisitor, и SaveFormat соответствуют эквивалентам .NET по названию и поведению.
Для сценариев, требующих полной поддержки записи, конвертации в дополнительные форматы или обработки зашифрованных документов, коммерческий Aspose.Note for .NET и Aspose.Note for Java продукты доступны.
Сводка по установке
| Команда | Назначение |
|---|---|
pip install aspose-note | Базовая библиотека (чтение, обход, доступ к DOM) |
pip install "aspose-note[pdf]" | Базовая + экспорт PDF (добавляет ReportLab) |
pip install -e ".[pdf]" | Редактируемая установка из исходного кода (contributors) |
Требования: Python 3.10, 3.11 или 3.12. Microsoft Office не требуется.