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-noteKrok 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ť | Typ | Popis |
|---|---|---|
shape | N/A | Identifikátor tvaru značky (hviezda, zaškrtávacie políčko, šípka, atď.) |
label | str | Reťazec štítku čitateľný pre človeka (napr. "Important", "To Do") |
text_color | int | Farba textu ako ARGB celé číslo |
highlight_color | int | Farba zvýraznenia ako ARGB celé číslo |
created | `int | None` |
completed | `int | None` |
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: