Kako pregledati OneNote oznake u Python
OneNote omogućava korisnicima da anotiraju sadržaj obojenim oznakama: zvezde, kvadratiće za potvrdu, važne zastavice i prilagođene etikete. Aspose.Note FOSS za Python izlaže ove anotacije kao NoteTag objekte na RichText, Image, Table, i OutlineElement čvorove. Ovaj vodič pokazuje kako ih pročitati.
Vodič korak po korak
Korak 1: Instalirajte Aspose.Note FOSS za Python
pip install aspose-noteKorak 2: Učitajte .one fajl
from aspose.note import Document
doc = Document("TaggedNotes.one")
print(f"Pages: {len(list(doc))}")Korak 3: Pronađite oznake na RichText čvorovima
Većina oznaka je prikačena na tekstualne blokove:
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}")Korak 4: Pronađite oznake na slikama
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}")Korak 5: Pronađite oznake na tabelama
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]}")Korak 6: Pronađite oznake 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}")Korak 7: Prikupite sve oznake kroz dokument
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)Reference svojstava NoteTag
| Svojstvo | Tip | Opis |
|---|---|---|
shape | N/A | Identifikator oblika oznake (zvezda, kvadratić za potvrdu, strelica, itd.) |
label | str | Ljudski čitljiv string oznake (npr. "Important", "To Do") |
text_color | int | Boja teksta kao ARGB integer |
highlight_color | int | Boja isticanja kao ARGB integer |
created | `int | None` |
completed | `int | None` |
Filtrirajte završene i neizvršene oznake
Oznake koje su označene (kao "To Do" kvadratići) imaju ne-None completed polje:
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}")Kreirajte NoteTag (u memoriji)
Fabrika metoda NoteTag.CreateYellowStar() kreira čvor oznake koji možete prikačiti novom sadržaju u memoriji:
from aspose.note import NoteTag
tag = NoteTag.CreateYellowStar()
print(f"Created tag: shape={tag.shape} label={tag.label!r}")Kreiranje u memoriji je korisno za kompatibilnost API‑ja. Pošto pisanje nazad u .one nije podržano, kreirane oznake ne mogu biti sačuvane u datoteku.
Uobičajeni problemi
Nisu pronađene oznake (dokument vraća prazne liste Tags): Nisu sve .one datoteke sadrže oznake. Proverite da izvorni dokument ima oznake vidljive u Microsoft OneNote pre nego što otklanjate greške u kodu.
tag.label je prazan string: Neki oblici oznaka nemaju tekstualnu oznaku u metapodacima fajla. Koristite tag.shape za programatsko identifikovanje tipa oznake.
Povezani resursi: