Sådan inspicerer du OneNote-tags i Python
OneNote lader brugere annotere indhold med farvede tags: stjerner, afkrydsningsfelter, vigtige flag og brugerdefinerede etiketter. Aspose.Note FOSS for Python eksponerer disse annotationer som NoteTag objekter på RichText, Image, AttachedFile, og Table noder via deres .Tags egenskab. Denne vejledning viser, hvordan man læser dem.
Trin-for-trin guide
Trin 1: Installer Aspose.Note FOSS for Python
pip install aspose-noteTrin 2: Indlæs .one-filen
from aspose.note import Document
doc = Document("TaggedNotes.one")
print(f"Pages: {len(list(doc))}")Trin 3: Find mærker på RichText‑noder
De fleste mærker er knyttet til tekstblokke:
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}")Trin 4: Find mærker på billeder
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}")Trin 5: Find mærker 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]}")Trin 6: Indsaml alle mærker 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‑egenskabsreference
| Egenskab | 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 fuldført, ellers TagStatus.Open |
Filtrer fuldførte vs ventende mærker
Tags, der er markeret (som “To Do”-afkrydsningsfelter), 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}")Opret et NoteTag (i hukommelsen)
Fabriksmetoden NoteTag.CreateYellowStar() opretter en tag-node, som du kan vedhæfte til nyt indhold i hukommelsen:
from aspose.note import NoteTag
tag = NoteTag.CreateYellowStar()
print(f"Created tag: Icon={tag.Icon} Label={tag.Label!r}")Oprettelse i hukommelsen er nyttig for API-kompatibilitet. Da skrivning tilbage til .one understøttes ikke, kan oprettede tags ikke gemmes til fil.
Almindelige problemer
Ingen tags fundet (dokumentet returnerer tomme Tags-lister): Ikke alle .one filer indeholder tags. Bekræft at kilde-dokumentet har tags synlige i Microsoft OneNote, før du fejlsøger koden.
tag.Label er en tom streng: Nogle tagformer har ingen tekstetiket i filens metadata. Brug tag.Icon til at identificere tag-typen programmatisk.
Relaterede ressourcer: