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

Aspose.Note FOSS for Python

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

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

FOSS for 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 може бути використано

  • Індексація вмісту: Витягти і індексировать весь текст з архівів 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?

Це безкоштовна, ліцензована MIT бібліотека Python для читання файлів 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] .

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

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

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

Потрібно Python 3.10 або більш пізній версія.

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

Ні. Текуча версія є читальною. Вона може відкривати і аналізувати будь-який дійсний файл секції .one, але не підтримується написання назад в двоякій формат OneNote.

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

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

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

Бібліотека має ліцензію MIT і розміщена на GitHub. Доповіді про помилки та запити за витягом вітаються.

  

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

 Українська