Hvordan inspisere OneNote‑tagger i Python
OneNote lar brukere merke innhold med fargede tagger: stjerner, avmerkingsbokser, viktige flagg og egendefinerte etiketter. Aspose.Note FOSS for Python eksponerer disse merkene som NoteTag objekter på RichText, Image, AttachedFile, og Table noder via deres .Tags egenskap. Denne guiden viser hvordan du leser dem.
Steg-for-steg guide
Steg 1: Installer Aspose.Note FOSS for Python
pip install aspose-noteSteg 2: Last inn .one-filen
from aspose.note import Document
doc = Document("TaggedNotes.one")
print(f"Pages: {len(list(doc))}")Steg 3: Finn tagger på RichText‑noder
De fleste tagger er festet til tekstblokker:
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} Icon={tag.Icon} text={rt.Text.strip()!r}")Steg 4: Finn tagger på bilder
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}")Steg 5: Finn tagger på tabeller
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]}")Steg 6: Samle alle tagger i dokumentet
from aspose.note import Document, RichText, Image, Table
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,
"CompletedTime": tag.CompletedTime, "text": rt.Text.strip()})
for img in doc.GetChildNodes(Image):
for tag in img.Tags:
all_tags.append({"type": "Image", "Label": tag.Label,
"CompletedTime": tag.CompletedTime, "file": img.FileName})
for table in doc.GetChildNodes(Table):
for tag in table.Tags:
all_tags.append({"type": "Table", "Label": tag.Label,
"CompletedTime": tag.CompletedTime})
print(f"Total tagged items: {len(all_tags)}")
for item in all_tags:
print(item)NoteTag‑egenskapsreferanse
| Egenskap | Type | Beskrivelse |
|---|---|---|
Icon | `int | None` |
Label | `str | None` |
FontColor | `int | None` |
Highlight | `int | None` |
CreationTime | `datetime | None` |
CompletedTime | `datetime | None` |
Status | TagStatus | TagStatus.Completed hvis fullført, ellers TagStatus.Open |
Filtrer fullførte vs ventende tagger
Tagger som er krysset av (som “To Do”-avmerkingsbokser) har en non-None CompletedTime felt:
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.CompletedTime 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}")Opprett en NoteTag (i minnet)
Factory-metoden NoteTag.CreateYellowStar() oppretter en taggnode du kan feste til nytt innhold i minnet:
from aspose.note import NoteTag
tag = NoteTag.CreateYellowStar()
print(f"Created tag: Icon={tag.Icon} Label={tag.Label!r}")Opprettelse i minnet er nyttig for API-kompatibilitet. Siden skriving tilbake til .one støttes ikke, opprettede tagger kan ikke lagres til fil.
Vanlige problemer
Ingen tagger funnet (dokumentet returnerer tomme Tags-lister): Ikke alle .one filer inneholder tagger. Verifiser at kilde-dokumentet har tagger synlige i Microsoft OneNote før du feilsøker koden.
tag.Label er en tom streng: Noen taggformer har ikke en tekstetikett i filmetadataene. Bruk tag.Icon for å identifisere taggtypen programmatisk.
Relaterte ressurser: