Introduction
Aspose.Note FOSS for Python (aspose-note PyPI) является свободной библиотекой с лицензией MIT для чтение Microsoft OneNote .one файлы и экспортирование на PDF в чистом Python. версия 26.3.2 корабли с полной моделью объекта документа, охватывающую страницы, контуры, узлы богатого текста и изображения;, и приложенных файлов не требуется установка Microsoft Office или зависимость от Windows.
Основные особенности
Загрузка и обнаружение формата документа
Document является корнем модели объекта. Пройдите путь файла для загрузки любой поддерживаемой программы OneNote Формат. FileFormat отчета о имуществе, в каком формате были обнаружены.
from aspose.note import Document, FileFormat
doc = Document("notebook.one")
print(f"Format : {doc.FileFormat}")
print(f"Pages : {len(list(doc))}")
Переход на страницы и заголовки
Страницы: Page узлы прямо под Document.Каждый . Page раскрывает метаданные, такие как: как и Author, CreationTime, и Title.- Да , это так . Title узел в свою очередь обеспечивает: TitleText, TitleDate, и TitleTime как и RichText Дети.
from aspose.note import Document, Page
doc = Document("notebook.one")
for page in doc.GetChildNodes(Page):
print(f"Author : {page.Author}")
print(f"Created : {page.CreationTime}")
if page.Title and page.Title.TitleText:
print(f"Title : {page.Title.TitleText}")
Чтение содержания текста
RichText узлы являются узлами листья, которые несут фактическое содержание текста. Итерация a RichText объект со стандартом for loop каждый элемент является сегментом строки. Используйте Append() добавить: новый текст с стилем.
from aspose.note import Document, Page, Outline, RichText
doc = Document("notebook.one")
for page in doc.GetChildNodes(Page):
for rt in page.GetChildNodes(RichText):
text = "".join(rt)
if text.strip():
print(text[:120])
Свойства конфигурации очертаний
Outline узлы выставляют координаты расположения: HorizontalOffset, VerticalOffset, MaxWidth, MaxHeight, и MinWidth.Они полезны для выработки изображений с учетом расположения . или перекомпоновки страниц.
from aspose.note import Document, Outline
doc = Document("notebook.one")
for outline in doc.GetChildNodes(Outline):
print(f"HOffset={outline.HorizontalOffset} VOffset={outline.VerticalOffset} MaxW={outline.MaxWidth}")
Строительство дерева документов
Создать … Document с нуля используя CompositeNode.AppendChildLast().Каждый тип узла . может быть добавлена к его действительному материнскому документу: Page → Document, Outline → Page, RichText узлы → Outline.
from aspose.note import Document, Page, Outline, RichText, ParagraphStyle, Title, SaveFormat
doc = Document()
page = Page()
title_text = RichText()
title_text.Append("My New Page", ParagraphStyle())
title = Title()
title.TitleText = title_text
page.Title = title
outline = Outline()
page.AppendChildLast(outline)
doc.AppendChildLast(page)
doc.Save("new_notebook.pdf", SaveFormat.Pdf)
Экспорт на PDF-файл
Document.Save() принимает SaveFormat.Pdf написать PDF на путь файла или а) в) BytesIO Экспорт полностью работает в процессе без каких-либо внешних редерров.
import io
from aspose.note import Document, SaveFormat
doc = Document("notebook.one")
# File output
doc.Save("export.pdf", SaveFormat.Pdf)
# In-memory buffer
buf = io.BytesIO()
doc.Save(buf, SaveFormat.Pdf)
print(f"PDF bytes: {len(buf.getvalue())}")
Быстрый старт .
pip install aspose-notefrom aspose.note import Document, Page, RichText, SaveFormat
doc = Document("notebook.one")
# Print all text
for page in doc.GetChildNodes(Page):
for rt in page.GetChildNodes(RichText):
print("".join(rt))
# Export to PDF
doc.Save("output.pdf", SaveFormat.Pdf)
Поддерживаемые форматы
| Format | Extension | Read | Write |
|---|---|---|---|
| ОдноNote 2010 | .one | ✓ | — |
| OneNote 2007 год | .one | ✓ | — |
| OneNote онлайн | .one | ✓ | — |
.pdf | — | ✓ |
Открытый исходный код и лицензирование
Aspose.Note FOSS for Python is released under the MIT License. Install from PyPI as aspose-note.Коммерческое использование, перераспределение и модификация разрешены.