Начало работы

Aspose.Note FOSS for Python is a free, open-source library for reading Microsoft OneNote .one файлы разделов. Он предоставляет публичный API, смоделированный по Aspose.Note для .NET, основанный на чистом-Python MS-ONE/OneStore бинарном парсере. Установка Microsoft Office не требуется.

Что вы можете сделать

  • Чтение .one файлы: откройте любой файл раздела OneNote 2010, OneNote Online или OneNote 2007
  • Обход DOM документа: перемещайтесь по страницам, структурам, элементам структуры и всем типам контента
  • Извлечение текста: читайте обычный текст или исследуйте отдельные фрагменты форматирования (жирный, курсив, гиперссылки, цвет шрифта)
  • Извлечь изображения: получить встроенные изображения в виде необработанных байтов с именем файла и размерами
  • Извлечь вложенные файлы: сохранить встроенные вложения файлов на диск
  • Разобрать таблицы: проходить по строкам и ячейкам таблицы, читать ширины столбцов и содержимое ячеек
  • Проверить теги и списки: читать теги OneNote (NoteTag) и метаданные нумерованных списков
  • Экспорт в PDF: сохранить любой загруженный документ в PDF, используя необязательный backend ReportLab

Требования

ТребованиеПодробности
Python3.10 or later
Операционная системаЛюбая (Windows, Linux, macOS), независимая от ОС
Microsoft OfficeНе требуется
Экспорт PDFТребуется reportlab>=3.6; установите через [pdf] дополнение

Установка

Установите основную библиотеку из PyPI:

pip install aspose-note

Если вы планируете экспортировать документы в PDF, установите с [pdf] дополнение:

pip install "aspose-note[pdf]"

Для получения подробных вариантов установки (editable installs, virtual environments), см. Руководство по установке.

Ваш первый скрипт

Следующий скрипт загружает файл раздела OneNote, выводит отображаемое имя раздела и количество страниц, затем перечисляет заголовки всех страниц:

from aspose.note import Document

doc = Document("MyNotes.one")
print(f"Section: {doc.DisplayName}")
print(f"Pages:   {len(list(doc))}")

for page in doc:
    title = (
        page.Title.TitleText.Text
        if page.Title and page.Title.TitleText
        else "(untitled)"
    )
    print(f"  - {title}")

Важно: Публичный путь импорта from aspose.note import .... Не используйте import aspose_note или from onenote import ..., так как это не правильные имена пакетов.

Извлечь весь текст

from aspose.note import Document, RichText

doc = Document("MyNotes.one")
for rt in doc.GetChildNodes(RichText):
    if rt.Text:
        print(rt.Text)

Экспорт в PDF

from aspose.note import Document, SaveFormat

doc = Document("MyNotes.one")
doc.Save("output.pdf", SaveFormat.Pdf)

Требует pip install "aspose-note[pdf]".

Следующие шаги

 Русский