Document
Klasa: Document
Document je korenski čvor OneNote modela objekta dokumenta. Predstavlja pojedinačnu OneNote sekcijsku datoteku (.one). Sve stranice su direktna deca od Document.
Document(source=None, load_options=None)| ————————- | —————————— | ————————- | ——————————————————————————————————————————— |
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()Izuzeci koje podiže konstruktor
| ————————————- | ———————————————— |
| FileCorruptedException | Datoteka ne može biti parsirana |
| IncorrectDocumentStructureException | Struktura datoteke nije podržana |
| IncorrectPasswordException | Datoteka je šifrovana (šifrovanje nije podržano) |
| UnsupportedFileFormatException | Format datoteke nije prepoznat |
| ————————- | ————————- | ————————- | ————————————————————- |
Nasleđeno iz CompositeNode
| ————————- | ————————- | ————————————————- |
| FirstChild | Node | None | Prvo direktno podređeno (prva stranica) |
| LastChild | Node | None | Poslednje direktno podređeno (poslednja stranica) |
Nasleđeno od Node
| ————————- | ————————- | ———————————————————————————————————— |
Count()
len(list(doc)) -> intVraća broj direktnih podređenih Page čvorova (tj., broj stranica u sekciji).
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) -> NoneSačuva dokument na putanju fajla, pathlib.Path, ili binarni tok. Samo SaveFormat.Pdf je trenutno implementirano.
| ————————- | ——————————— | ———————————————— |
| target | str | Path | BinaryIO | Putanja izlazne datoteke ili upisivi binarni tok |
| format_or_options | SaveFormat | SaveOptions | None | Ciljani format ili objekat opcija |
UnsupportedSaveFormatException: podiže se za bilo kojiSaveFormatosimPdf
Napomena o PdfSaveOptions.PageIndex / PageCount: Ova polja postoje u dataklasi, ali su ne prosleđuju se PDF izvozniku u v26.3.1 i nemaju efekta. Ceo dokument se uvek izveze.
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) -> NonePokreće posetioca da pređe kroz čitavo stablo dokumenta. Poziva visitor.VisitDocumentStart(self), zatim rekurzivno posećuje sve čvorove dece.
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]Vraća istoriju verzija stranice. U v26.3.1, ovo je kompatibilni stub koji vraća [page].
DetectLayoutChanges()
doc.DetectLayoutChanges() -> NoneKompatibilni stub. Nema operacije.
for page in doc:
...Iterira direktno dete Page čvorove u redosledu dokumenta.
Kompletan primer
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")Vidi i
- LoadOptions: opcije konstruktora
- PdfSaveOptions: PDF konfiguracija izvoza
- DocumentVisitor: pretraga posetilac-šablon
- Vodič za programere PDF izvoza
- Uputstvo: Izvoz OneNote-a u PDF (KB)