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 автоматизация и без необходим собственикски runtime. Тя предоставя чист публичен 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.
  • Tag inspection: Прочетете NoteTag метаданни (форма, етикет, цвят, състояние на завършване) върху текстови, изображителни и таблични възли.

Къде Aspose.Note FOSS може да се използва

  • Индексиране на съдържание: Извличайте и индексирайте целия текст от архиви на OneNote за търсачни конвейери.
  • Миграция на документи: Експортирайте раздели от OneNote в PDF, обикновен текст или структурирани данни.
  • Архивни инструменти: Запазете вградени изображения и прикачени файлове на диска от .one файлове.
  • CI/CD работни потоци: Валидиране или обработка на съдържание от OneNote в Docker контейнери.
  • Knowledge-base pipelines: Извличане на структурирано съдържание от екипните 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)

Frequently Asked Questions

Какво е Aspose.Note FOSS за Python?

Това е безплатна, лицензирана под MIT Python библиотека за четене на Microsoft OneNote (.one) файлове без необходимост от Microsoft Office, COM автоматизация или какъвто и да е собственически runtime.

Кои варианти на формата 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‑ове са добре дошли.

  

Ресурси за поддръжка и обучение

 Български