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. Для сімейства корпоративних продуктів дивіться 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 FOSS можна використовувати

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

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

  • PDF експорт: Збережіть будь‑який завантажений Document у PDF за допомогою Document.Save(path, SaveFormat.Pdf). Видання FOSS використовує рендеринг за замовчуванням; розширені параметри PDF для окремих сторінок недоступні в цьому випуску.
  • Експорт зображення: Ітеруйте Image вузли, щоб отримати необроблені байти (Bytes), ім’я файлу (FileName) та розміри (OriginalWidth, OriginalHeight).
  • Збереження вкладень: Ітеруйте 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"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 та варіанти формату 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‑запити вітаються.

  

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

 Українська