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

Aspose.Note FOSS для Python

Читати, обходити та експортувати файли Microsoft OneNote (.one) за допомогою Python — безкоштовно та з відкритим кодом, без потреби у Microsoft Office.

Відкрита Python бібліотека для файлів OneNote

Aspose.Note 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.

Читати та обходити документи OneNote

  • Завантаження .one файлів: Відкрийте будь‑яку секцію OneNote за шляхом до файлу або бінарним потоком за допомогою Document.
  • Повний обхід DOM: Переміщуйтеся по Document → Page → Outline → OutlineElement → RichText / Image / Table / AttachedFile.
  • Витягування форматованого тексту: Читайте необроблений текст через RichText.Text або досліджуйте сегменти TextRun для визначення жирного, курсивного, шрифту, кольору та метаданих гіперпосилань.
  • Парсинг таблиць: Обходьте ієрархії Table → TableRow → TableCell з урахуванням ширини колонок та видимості меж.
  • Перевірка тегів: Читайте метадані NoteTag (форма, мітка, колір, стан виконання) у вузлах тексту, зображення та таблиці.

Де можна використовувати Aspose.Note FOSS

  • Індексація вмісту: Витягайте та індексуйте весь текст з архівів OneNote для пошукових конвеєрів.
  • Міграція документів: Конвертуйте розділи OneNote у PDF, простий текст або структуровані дані.
  • Інструменти архівації: Зберігайте вбудовані зображення та вкладення на диск з файлів .one.
  • CI/CD workflows: Перевіряти або обробляти вміст OneNote у Docker‑контейнерах.
  • Knowledge-base pipelines: Витягувати структурований вміст з блокнотів OneNote команди.

Експорт, зображення та вкладення

  • PDF експорт: Збережіть будь‑який завантажений Document у PDF, використовуючи Document.Save(path, SaveFormat.Pdf).
  • PDF параметри: Налаштуйте діапазон сторінок, каталог іконок тегів, розмір іконки та відступ за допомогою PdfSaveOptions.
  • Експорт зображень: Пройдіться по вузлах Image, щоб отримати необроблені байти, ім’я файлу, розміри та alt‑текст.
  • Збереження вкладень: Пройдіться по вузлах AttachedFile, щоб зберегти вбудовані файли‑вкладення на диск.
  • Завантаження з потоку: Відкривайте файли .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"Сторінки: {len(list(doc))}")

# Витягнути весь текст з усього документа
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)```

# Зберегти всі вбудовані зображення на диск
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 та OneNote 2007. Будь‑який дійсний файл розділу .one можна завантажити.

Як його встановити?

Виконайте pip install aspose-note для базової бібліотеки або pip install "aspose-note[pdf]", щоб включити необов’язкову залежність ReportLab для експорту у PDF.

Чи можу я експортувати файли OneNote у PDF?

Так. Викличте Document.Save(path, SaveFormat.Pdf). Експорт у PDF вимагає встановленої необов’язкової залежності ReportLab через додаток [pdf].

Чи можу я завантажити файли .one з потоку?

Так. Клас Document приймає бінарний потік (наприклад, io.BytesIO або тіло HTTP‑відповіді), тому ви можете обробляти файли без запису їх на диск.

Яка версія Python потрібна?

Python 3.10 або новіший є обов’язковим.

Чи можу я записувати або змінювати файл .one?

Ні. Поточна версія лише для читання. Вона може відкривати та аналізувати будь‑який дійсний файл розділу .one, але запис у двійковий формат OneNote не підтримується.

Чи підтримуються зашифровані документи OneNote?

Ні. Завантаження захищеного паролем файлу .one викликає IncorrectPasswordException. Шифровані документи не підтримуються у поточній версії.

Де я можу знайти вихідний код?

Бібліотека має ліцензію MIT і розміщена на GitHub. Звіти про помилки та pull‑request’и вітаються.

  

Ресурси Підтримки та Навчання

 Українська