Document — Aspose.Note FOSS for Python API Reference
Класс: Document
ImageRenderOptions: aspose.note ImageRenderOptions: from aspose.note import Document ImageRenderOptions: CompositeNode
Document является корневым узлом объектной модели документа OneNote. Он представляет отдельный файл раздела OneNote (.one). Все страницы являются прямыми дочерними элементами Document.
ImageRenderOptions
Document(source=None, load_options=None)| ImageRenderOptions | ImageRenderOptions | ImageRenderOptions | ImageRenderOptions |
|---|---|---|---|
source | `str | Path | BinaryIO |
load_options | `LoadOptions | None` | ImageRenderOptions |
ImageRenderOptions
from aspose.note import Document
##Load from a file path
doc = Document("MyNotes.one")
##Load from a binary stream
with open("MyNotes.one", "rb") as f:
doc = Document(f)
##Empty document (no source file)
doc = Document()Исключения, вызываемые конструктором
| ImageRenderOptions | ImageRenderOptions |
|---|---|
FileCorruptedException | Файл не может быть разобран |
IncorrectDocumentStructureException | Структура файла не поддерживается |
IncorrectPasswordException | Файл зашифрован (шифрование не поддерживается) |
UnsupportedFileFormatException | Формат файла не распознан |
ImageRenderOptions
| ImageRenderOptions | ImageRenderOptions | ImageRenderOptions | ImageRenderOptions |
|---|---|---|---|
DisplayName | `str | None` | ImageRenderOptions |
CreationTime | `datetime | None` | ImageRenderOptions |
FileFormat | FileFormat | ImageRenderOptions | Приблизительное указание версии формата файла OneNote |
Унаследовано от CompositeNode
| ImageRenderOptions | ImageRenderOptions | ImageRenderOptions |
|---|---|---|
FirstChild | `Node | None` |
LastChild | `Node | None` |
Наследовано от Node
| ImageRenderOptions | ImageRenderOptions | ImageRenderOptions |
|---|---|---|
ParentNode | `Node | None` |
Document | `Document | None` |
ImageRenderOptions
Count()
len(list(doc)) -> intВозвращает количество прямых дочерних Page узлов (т.е. количество страниц в разделе).
from aspose.note import Document
doc = Document("MyNotes.one")
print(f"Pages: {len(list(doc))}")Save(target, format_or_options)
doc.Save(target: str | Path | BinaryIO, format_or_options: SaveFormat | SaveOptions | None = None) -> NoneСохраняет документ в путь к файлу, pathlib.Path, или в бинарный поток. Только SaveFormat.Pdf в настоящее время реализовано.
| ImageRenderOptions | ImageRenderOptions | ImageRenderOptions |
|---|---|---|
target | `str | Path |
format_or_options | `SaveFormat | SaveOptions |
ImageRenderOptions:
UnsupportedSaveFormatException: вызывается для любогоSaveFormatкромеPdf
Примечание к PdfSaveOptions.PageIndex / PageCount: Эти поля существуют в dataclass, но являются не передаются в PDF‑экспортер в версии v26.3.1 и не влияют. Полный документ всегда экспортируется.
import io
from aspose.note import Document, SaveFormat, PdfSaveOptions
doc = Document("MyNotes.one")
##Save to file path (string)
doc.Save("output.pdf", SaveFormat.Pdf)
##Save to a pathlib.Path
from pathlib import Path
doc.Save(Path("output.pdf"), SaveFormat.Pdf)
##Save to an in-memory stream
buf = io.BytesIO()
doc.Save(buf, PdfSaveOptions(SaveFormat.Pdf))
pdf_bytes = buf.getvalue()Accept(visitor)
doc.Accept(visitor: DocumentVisitor) -> NoneОтправляет посетителя обходить всё дерево документа. Вызывает visitor.VisitDocumentStart(self), затем рекурсивно посещает все дочерние узлы.
from aspose.note import Document, DocumentVisitor
class MyVisitor(DocumentVisitor):
def VisitDocumentStart(self, doc):
print(f"Document: {doc.DisplayName}")
doc = Document("MyNotes.one")
doc.Accept(MyVisitor())GetPageHistory(page)
doc.GetPageHistory(page: Page) -> list[Page]Возвращает историю версий страницы. В версии v26.3.1 это заглушка совместимости, которая возвращает [page].
DetectLayoutChanges()
doc.DetectLayoutChanges() -> NoneЗаглушка совместимости. Операция не выполняется.
ImageRenderOptions
for page in doc:
...Итерирует прямого дочернего Page узлы в порядке документа.
Полный пример
from aspose.note import Document, Page, RichText, SaveFormat
doc = Document("MyNotes.one")
print(f"Section: {doc.DisplayName}")
print(f"Format: {doc.FileFormat}")
print(f"Created: {doc.CreationTime}")
print(f"Pages: {len(list(doc))}")
for page in doc:
title = page.Title.TitleText.Text if page.Title and page.Title.TitleText else "(untitled)"
texts = page.GetChildNodes(RichText)
print(f" [{title}] {len(texts)} text node(s)")
doc.Save("output.pdf", SaveFormat.Pdf)
print("Saved output.pdf")См. также
- ImageRenderOptions: прямой дочерний элемент Document
- LoadOptions: параметры конструктора
- PdfSaveOptions: конфигурация экспорта PDF
- DocumentVisitor: обход по паттерну Visitor
- Руководство разработчика по экспорту PDF
- Как сделать: экспорт OneNote в PDF (KB)