Aspose.Note FOSS for Python Is Now Available

Ми раді оголосити про доступність Aspose.Note FOSS for Python на PyPI. Ця безкоштовна, з відкритим кодом бібліотека дозволяє розробникам Python читати Microsoft OneNote .one файли розділів, проходити їх повну модель об’єктів документа, витягувати вміст і експортувати у PDF, без потреби у Microsoft Office чи будь‑якому пропрієтарному середовищі виконання.

Встановіть її зараз:

pip install aspose-note

Для експорту у PDF:

pip install "aspose-note[pdf]"

Що таке Aspose.Note FOSS для 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‑взаємодії, без нативних DLL платформи та без необхідності встановлення Microsoft Office.

API‑інтерфейс спроектовано за зразком Aspose.Note for .NET, що робить перехід знайомим для команд, які вже використовують продукти Aspose на інших платформах.


Ключові можливості

Читання будь‑якого файлу .one

Завантажуйте файли розділів OneNote 2010, OneNote Online та OneNote 2007 з шляху до файлу або будь‑якого бінарного потоку:

from aspose.note import Document

doc = Document("MyNotes.one")
print(doc.DisplayName)   # Section name
print(len(list(doc)))       # Number of pages

Проходьте повний 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]

Витягайте текст з багатим форматуванням

Кожен 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, використовуючи необов’язковий бекенд 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]"Core + PDF export (додає ReportLab)
pip install -e ".[pdf]"Редаговане встановлення з вихідного коду (contributors)

Вимоги: Python 3.10, 3.11 або 3.12. Microsoft Office не потрібен.


Почати