Ako skontrolovať značky OneNote v Python

Ako skontrolovať značky OneNote v Python

OneNote umožňuje používateľom anotovať obsah farebnými značkami: hviezdičky, zaškrtávacie políčka, dôležité príznaky a vlastné štítky. Aspose.Note FOSS pre Python zverejňuje tieto anotácie ako NoteTag objekty na RichText, Image, Table, a OutlineElement uzly. Tento sprievodca ukazuje, ako ich čítať.


Postupný návod

Krok 1: Nainštalujte Aspose.Note FOSS pre Python

pip install aspose-note

Krok 2: Načítajte .one súbor

from aspose.note import Document

doc = Document("TaggedNotes.one")
print(f"Pages: {len(list(doc))}")

Krok 3: Nájdite značky na uzloch RichText

Väčšina značiek je pripojená k textovým blokom:

from aspose.note import Document, RichText

doc = Document("TaggedNotes.one")
for rt in doc.GetChildNodes(RichText):
    for tag in rt.Tags:
        print(f"[RichText] label={tag.label!r}  shape={tag.shape}  text={rt.Text.strip()!r}")

Krok 4: Nájdite značky na obrázkoch

from aspose.note import Document, Image

doc = Document("TaggedNotes.one")
for img in doc.GetChildNodes(Image):
    for tag in img.Tags:
        print(f"[Image] label={tag.label!r}  filename={img.FileName!r}")

Krok 5: Nájdite značky v tabuľkách

from aspose.note import Document, Table

doc = Document("TaggedNotes.one")
for table in doc.GetChildNodes(Table):
    for tag in table.Tags:
        print(f"[Table] label={tag.label!r}  widths={[col.Width for col in table.Columns]}")

Krok 6: Nájdite značky na OutlineElements

from aspose.note import Document, OutlineElement

doc = Document("TaggedNotes.one")
for oe in doc.GetChildNodes(OutlineElement):
    for tag in oe.Tags:
        print(f"[OutlineElement] label={tag.label!r}  completed={tag.completed}")

Krok 7: Zozbierajte všetky značky v celom dokumente

from aspose.note import Document, RichText, Image, Table, OutlineElement

doc = Document("TaggedNotes.one")
all_tags = []

for rt in doc.GetChildNodes(RichText):
    for tag in rt.Tags:
        all_tags.append({"type": "RichText", "label": tag.label,
                         "completed": tag.completed, "text": rt.Text.strip()})
for img in doc.GetChildNodes(Image):
    for tag in img.Tags:
        all_tags.append({"type": "Image", "label": tag.label,
                         "completed": tag.completed, "file": img.FileName})
for table in doc.GetChildNodes(Table):
    for tag in table.Tags:
        all_tags.append({"type": "Table", "label": tag.label,
                         "completed": tag.completed})

print(f"Total tagged items: {len(all_tags)}")
for item in all_tags:
    print(item)

Referenčný zoznam vlastností NoteTag

VlastnosťTypPopis
shapeN/AIdentifikátor tvaru značky (hviezda, zaškrtávacie políčko, šípka, atď.)
labelstrReťazec štítku čitateľný pre človeka (napr. "Important", "To Do")
text_colorintFarba textu ako ARGB celé číslo
highlight_colorintFarba zvýraznenia ako ARGB celé číslo
created`intNone`
completed`intNone`

Filtrovať dokončené a čakajúce značky

Značky, ktoré boli odškrtnuté (ako zaškrtávacie políčka „To Do“) majú ne-None completed pole:

from aspose.note import Document, RichText

doc = Document("TaggedNotes.one")
pending, done = [], []

for rt in doc.GetChildNodes(RichText):
    for tag in rt.Tags:
        item = {"label": tag.label, "text": rt.Text.strip()}
        if tag.completed is None:
            pending.append(item)
        else:
            done.append(item)

print(f"Pending: {len(pending)}  Done: {len(done)}")
for p in pending:
    print(f"  [ ] {p['label']}: {p['text']!r}")
for d in done:
    print(f"  [x] {d['label']}: {d['text']!r}")

Vytvorte NoteTag (v pamäti)

Továrenská metóda NoteTag.CreateYellowStar() vytvára uzol značky, ktorý môžete pripojiť k novému obsahu v pamäti:

from aspose.note import NoteTag

tag = NoteTag.CreateYellowStar()
print(f"Created tag: shape={tag.shape}  label={tag.label!r}")

Vytváranie v pamäti je užitočné pre kompatibilitu API. Keďže zápis späť do .one nie je podporované, vytvorené značky nie je možné uložiť do súboru.


Bežné problémy

Nenašli sa žiadne značky (dokument vracia prázdne zoznamy Tags): Nie všetky .one súbory obsahujú značky. Overte, že zdrojový dokument má značky viditeľné v Microsoft OneNote pred riešením problémov s kódom.

tag.label je prázdny reťazec: Niektoré tvary značiek nemajú textový popis v metadátach súboru. Použite tag.shape na programové identifikovanie typu značky.


Súvisiace zdroje:

 Slovenčina