1. Продукты
  2.   Aspose.Note
  3.   Aspose.Note FOSS for Python

Aspose.Note FOSS for Python

Читать, обходить и экспортировать файлы Microsoft OneNote (.one) из Python — бесплатно и с открытым исходным кодом, без Microsoft Office.

Библиотека Python с открытым исходным кодом для файлов OneNote

FOSS для Python - это 100% бесплатная библиотека с лицензией MIT, которая позволяет читать файлы Microsoft OneNote (.one) полностью из Python без использования Microsoft Office, автоматизации COM и собственного времени выполнения. Он предлагает чистый публичный API (aspose.note.*), созданный по модели знакомого интерфейса Aspose.Note для .NET, поддерживаемый встроенным бинарным анализатором MS-ONE / OneStore, написанным на чистом языке Python.

Установка из PyPI с помощью pip install aspose-note (или pip install "aspose-note[pdf]" для активации экспорта PDF). Требуется Python 3.10 или более поздний.

Библиотека подходит для скриптов автоматизации документов, каналов индексации контента, инструментов архивирования и любого рабочего процесса на стороне сервера, который должен потреблять контингент OneNote без зависимости от Microsoft Office. Для семейства продуктов предприятия см. Aspose.Note — Enterprise Product Family.

Читать и переходить по документам OneNote

  • ** Загрузить .one файлы:** Открыть любой раздел OneNote с пути файла или бинарного потока через Document.
  • Полный проход по DOM: Навигация Document → Page → Outline → OutlineElement → RichText / Image / Table / AttachedFile.
  • Исключение богатого текста: Читайте необработанный текст через RichText.Text или проверяйте сегменты TextRun для получения толстых, курсивных, шрифтов, цветовых и гиперссылок метаданных.
  • Таблица анализа: Пересекает Table → TableRow → TableCell иерархии; читать ширину столбцов через TableColumn.Width.
  • ** Инспекция тегов:** Читать NoteTag метаданные (форма, этикетка, цвет, состояние завершения) на тексте, изображении и узлах таблицы.

Где Aspose.Note ФОСС можно использовать

  • Индексирование содержимого: Вытягивание и индексация всего текста из архивов OneNote для поисковых линий.
  • Миграция документов: Экспортировать разделы OneNote в PDF, простой текст или структурированные данные.
  • Архивные инструменты: Сохранить встроенные изображения и приложения на диске из файлов .one.
  • Рабочие процессы CI/CD: Проверка или обработка контента OneNote внутри контейнеров Docker.
  • Пипеллинги базы знаний: Вытянуть структурированный контент из ноутбуков команды OneNote.

Экспорт, изображения и приложения

  • PDF export: Сохраните любой загруженный Document в PDF, используя Document.Save(path, SaveFormat.Pdf). В FOSS‑издании используется рендеринг по умолчанию; расширенные параметры PDF для каждой страницы недоступны в этом выпуске.
  • Image export: Пройдите узлы Image, чтобы получить необработанные байты (Bytes), имя файла (FileName) и размеры (OriginalWidth, OriginalHeight).
  • Attachment saving: Пройдите узлы AttachedFile, чтобы сохранить вложенные файловые вложения на диск.
  • Stream-based loading: Откройте файлы .one из бинарного потока (например, io.BytesIO) без записи на диск.

Опыт разработчика

Aspose.Note FOSS устанавливается одной командой pip install aspose-note. Базовый пакет не имеет необязательных зависимостей; экспорт PDF требует ReportLab, устанавливаемый через pip install "aspose-note[pdf]".

API смоделирован на основе знакомого Aspose.Note для интерфейса .NET: Document, Page, Outline, RichText, Image, Table, AttachedFile. Библиотека имеет лицензию MIT, является открытым исходным кодом и принимает сообщения об ошибках и вклады на GitHub.

Загрузить файл OneNote и извлечь весь текст

Установка с помощью pip, затем пропуск пути файла в Document() для анализа бинарного формата OneNote. GetChildNodes(RichText) выполняет глубокий рекурсивный поиск и возвращает каждый текстовый узел в документе, что полезно для индексации полного текста или миграционных труб.

pip install aspose-note
from aspose.note import Document, RichText
doc = Document("notebook.one")
print(f"Pages: {len(list(doc))}")
# Extract all text across the entire document
texts = [rt.Text for rt in doc.GetChildNodes(RichText) if rt.Text]
for text in texts:
   print(text)

Экспорт в PDF и сохранение приложенных изображений

PDF-экспорт требует дополнительной зависимости ReportLab. Установите его с помощью pip install "aspose-note[pdf]". Тот же объект Document также может быть итерационным для узлов Image, чтобы извлечь и сохранить все встроенные изображения на диск за один проход.

from aspose.note import Document, SaveFormat, Image
import pathlib

doc = Document("notebook.one")

# Export the document to PDF (requires aspose-note[pdf])
doc.Save("output.pdf", SaveFormat.Pdf)

# Save all embedded images to disk
out_dir = pathlib.Path("images")
out_dir.mkdir(exist_ok=True)
for i, img in enumerate(doc.GetChildNodes(Image)):
   name = img.FileName or f"image_{i}.bin"
   (out_dir / name).write_bytes(img.Bytes)

Часто задаваемые вопросы

Что такое Aspose.Note FOSS для Python?

Это бесплатная библиотека Python с лицензией MIT для чтения файлов Microsoft OneNote (.one), не требуя автоматизации Microsoft Office, COM или любого собственного времени выполнения.

Какие варианты формата OneNote поддерживаются?

Формат вариантов OneNote 2010, OneNOte Online и OneNot 2007. Любой действительный файл секции .one может быть загружен.

Как я его устанавливаю?

Запустите pip install aspose-note для базовой библиотеки или pip install "aspose-note[pdf]", чтобы включить дополнительную зависимость ReportLab для экспорта PDF.

Можно ли экспортировать файлы OneNote в PDF?

Да. Вызвать Document.Save(path, SaveFormat.Pdf). PDF-экспорт требует установки дополнительной зависимости ReportLab через экстра [pdf] .

Могу ли я загрузить файлы с потока?

Да. Класс Document принимает двоичный поток (например, io.BytesIO или тело ответа HTTP), так что вы можете обрабатывать файлы без записи на диск.

Какая версия Python требуется?

Python 3.10 или более поздний.

Могу ли я написать или изменить файл .one?

Нет. Текущее издание читается только. Оно может открывать и анализировать любой действительный файл секции .one, но не поддерживает переписку в бинарный формат OneNote.

Поддерживаются ли зашифрованные документы OneNote?

Загрузка файла .one с защищенным паролем создает IncorrectPasswordException. Шифрованные документы не поддерживаются в текущем издании.

Где я могу найти исходный код?

Библиотека лицензирована MIT и размещена на GitHub. Отчеты о ошибках и запросы с выводом приветствуются.

  

Ресурсы поддержки и обучения

 Русский