Document

Klasa: Document

Document je korijenski čvor OneNote modela objekta dokumenta. Predstavlja pojedinačnu OneNote datoteku odjeljka (.one). Sve stranice su izravni potomci 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 se ne može parsirati. | | IncorrectDocumentStructureException | Struktura datoteke nije podržana | | IncorrectPasswordException | Datoteka je šifrirana (šifriranje nije podržano) | | UnsupportedFileFormatException | Format datoteke nije prepoznat |


| ————————- | ————————- | ————————- | ————————————————————– |

Naslijeđeno iz CompositeNode

| ————————- | ————————- | ————————————— | | FirstChild | Node | None | Prvi izravni podređeni (prva stranica) | | LastChild | Node | None | Zadnje izravno dijete (zadnja stranica) |

Naslijeđeno od Node

| ————————- | ————————- | —————————————————————————————————————– |


Count()

len(list(doc)) -> int

Vraća broj izravnih podređenih Page čvorovi (tj., broj stranica u odjeljku).

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

Spremi dokument na putanju datoteke, pathlib.Path, ili binarni tok. Samo SaveFormat.Pdf je trenutno implementirano.

| ————————- | ——————————— | ————————————————- | | target | str | Path | BinaryIO | Putanja izlazne datoteke ili zapisivi binarni tok | | format_or_options | SaveFormat | SaveOptions | None | Ciljani format ili objekt opcija |

  • UnsupportedSaveFormatException: podignuto za bilo koji SaveFormat osim Pdf

Napomena o PdfSaveOptions.PageIndex / PageCount: Ova polja postoje u dataclassu, ali su ne proslijeđena PDF izvozniku u v26.3.1 i nemaju učinka. Cijeli dokument se uvijek izvozi.

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

Pokreće posjetitelja da pretraži cijelo stablo dokumenta. Poziva visitor.VisitDocumentStart(self), zatim rekurzivno posjećuje sve podčvorove.

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 povijest verzija stranice. U v26.3.1, ovo je kompatibilna zamjena koja vraća [page].


DetectLayoutChanges()

doc.DetectLayoutChanges() -> None

Kompatibilna zamjenska funkcija. Nema operacije.


for page in doc:
    ...

Iterira izravnog djeteta Page čvorovi u redoslijedu dokumenta.


Potpuni primjer

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 također

 Hrvatski