Aspose.Note FOSS for Python Is Now Available
Ми раді оголосити про доступність Aspose.Note FOSS for Python на PyPI. Ця безкоштовна, з відкритим кодом бібліотека дозволяє розробникам Python читати Microsoft OneNote .one файли розділів, проходити їх повну модель об’єктів документа, витягувати вміст і експортувати у PDF, без потреби у Microsoft Office чи будь‑якому пропрієтарному середовищі виконання.
Встановіть її зараз:
pip install aspose-note
Для експорту у PDF:
pip install "aspose-note[pdf]"
Що таке Aspose.Note FOSS для Python?
Aspose.Note FOSS for Python is a 100% free, MIT-licensed Python library that provides an Aspose.Note-shaped public API (aspose.note.*) для читання Microsoft OneNote .one файлів. Вона підтримується вбудованим чистим Python MS-ONE/OneStore бінарним парсером, без COM‑взаємодії, без нативних DLL платформи та без необхідності встановлення Microsoft Office.
API‑інтерфейс спроектовано за зразком Aspose.Note for .NET, що робить перехід знайомим для команд, які вже використовують продукти Aspose на інших платформах.
Ключові можливості
Читання будь‑якого файлу .one
Завантажуйте файли розділів OneNote 2010, OneNote Online та OneNote 2007 з шляху до файлу або будь‑якого бінарного потоку:
from aspose.note import Document
doc = Document("MyNotes.one")
print(doc.DisplayName) # Section name
print(len(list(doc))) # Number of pages
Проходьте повний DOM документа
Бібліотека надає повну модель об’єктів документа: Document → Page → Outline → OutlineElement → RichText / Image / Table / AttachedFile. Використовуйте GetChildNodes(Type) для рекурсивних, типофільтрованих пошуків:
from aspose.note import Document, RichText
doc = Document("MyNotes.one")
all_text = [rt.Text for rt in doc.GetChildNodes(RichText) if rt.Text]
Витягайте текст з багатим форматуванням
Кожен RichText вузол містить список TextRun сегментів. Кожен запуск несе по‑символьні TextStyle метадані: жирний, курсив, підкреслення, назва шрифту, колір шрифту, адреса гіперпосилання та інше:
from aspose.note import Document, RichText
doc = Document("MyNotes.one")
for rt in doc.GetChildNodes(RichText):
for run in rt.TextRuns:
if run.Style.IsHyperlink:
print(f" Link: {run.Text} -> {run.Style.HyperlinkAddress}")
elif run.Style.IsBold:
print(f" Bold: {run.Text}")
Зберегти зображення та вкладення
Отримати вбудовані зображення у вигляді необроблених байтів разом з іменем файлу та розмірами. Зберегти прикріплені файли на диск:
from aspose.note import Document, Image, AttachedFile
doc = Document("MyNotes.one")
for img in doc.GetChildNodes(Image):
with open(img.FileName or "image.bin", "wb") as f:
f.write(img.Bytes)
for af in doc.GetChildNodes(AttachedFile):
with open(af.FileName or "attachment.bin", "wb") as f:
f.write(af.Bytes)
Розбирати таблиці
Пройдіть Table → TableRow → TableCell ієрархії та прочитайте вміст клітинки:
from aspose.note import Document, Table, TableRow, TableCell, RichText
doc = Document("MyNotes.one")
for table in doc.GetChildNodes(Table):
for row in table.GetChildNodes(TableRow):
cells = [
" ".join(rt.Text for rt in cell.GetChildNodes(RichText))
for cell in row.GetChildNodes(TableCell)
]
print(cells)
Експортувати у PDF
Збережіть будь-який завантажений документ у PDF, використовуючи необов’язковий бекенд ReportLab. Налаштуйте діапазон сторінок та відображення значка тегу за допомогою PdfSaveOptions:
from aspose.note import Document, SaveFormat
doc = Document("MyNotes.one")
doc.Save("output.pdf", SaveFormat.Pdf)
Підтримувані типи вмісту
| Вміст | Підтримується |
|---|---|
| Сторінки та заголовки сторінок | Так |
Звичайний текст (RichText.Text) | Так |
| Форматовані фрагменти (жирний, курсив, підкреслення, шрифт, колір) | Так |
| Гіперпосилання в текстових ділянках | Так |
| Вбудовані зображення (байти, ім’я файлу, розміри) | Так |
| Прикріплені файли (байти, ім’я файлу) | Так |
| Таблиці (рядки, клітинки, ширини стовпців) | Так |
| Теги OneNote (NoteTag: shape, label, color) | Так |
| Нумеровані та марковані списки (NumberList) | Так |
| Метадані сторінки (author, creation time, level) | Так |
| PDF‑експорт | Так (потрібен ReportLab) |
Записати назад у .one | Не підтримується |
| Зашифровані документи | Не підтримується |
Знайомий API для розробників .NET
Команди, які вже використовують Aspose. Примітка: для .NET Python API буде одразу впізнаваним. Основні класи, такі як Document, Page, RichText, Image, DocumentVisitor, і SaveFormat відповідають еквівалентам .NET за назвою та поведінкою.
Для сценаріїв, які вимагають повної підтримки запису, конвертації у додаткові формати або обробки зашифрованих документів, комерційна Aspose.Note for .NET і Aspose.Note for Java продукти доступні.
Коротко про встановлення
| Команда | Призначення |
|---|---|
pip install aspose-note | Основна бібліотека (читання, обходження, доступ до DOM) |
pip install "aspose-note[pdf]" | Core + PDF export (додає ReportLab) |
pip install -e ".[pdf]" | Редаговане встановлення з вихідного коду (contributors) |
Вимоги: Python 3.10, 3.11 або 3.12. Microsoft Office не потрібен.