Hur man inspekterar OneNote-taggar i Python
OneNote låter användare kommentera innehåll med färgade taggar: stjärnor, kryssrutor, viktiga flaggor och anpassade etiketter. Aspose.Note FOSS för Python exponerar dessa kommentarer som NoteTag objekt på RichText, Image, Table, och OutlineElement noder. Den här guiden visar hur man läser dem.
Steg-för-steg-guide
Steg 1: Installera Aspose.Note FOSS för Python
pip install aspose-noteSteg 2: Ladda .one-filen
from aspose.note import Document
doc = Document("TaggedNotes.one")
print(f"Pages: {len(list(doc))}")Steg 3: Hitta taggar på RichText-noder
De flesta taggar är fästa vid textblock:
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}")Steg 4: Hitta taggar 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: Hitta taggar 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: Hitta taggar på 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}")Steg 7: Samla alla taggar i hela dokumentet
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)Referens för NoteTag-egenskaper
| Egenskap | Typ | Beskrivning |
|---|---|---|
shape | N/A | Taggform identifierare (stjärna, kryssruta, pil, etc.) |
label | str | Mänskligt läsbar etikettsträng (t.ex. "Important", "To Do") |
text_color | int | Textfärg som ARGB-heltal |
highlight_color | int | Markeringsfärg som ARGB-heltal |
created | `int | None` |
completed | `int | None` |
Filtrera slutförda vs väntande taggar
Taggar som har markerats (som ”Att göra”-kryssrutor) har ett icke-None completed fält:
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}")Skapa en NoteTag (i minnet)
Fabrikmetoden NoteTag.CreateYellowStar() skapar en taggnod som du kan bifoga till nytt innehåll i minnet:
from aspose.note import NoteTag
tag = NoteTag.CreateYellowStar()
print(f"Created tag: shape={tag.shape} label={tag.label!r}")Skapande i minnet är användbart för API-kompatibilitet. Eftersom återskrivning till .one stöds inte, skapade taggar kan inte sparas till fil.
Vanliga problem
Inga taggar hittades (dokumentet returnerar tomma Tags-listor): Inte alla .one filer innehåller taggar. Verifiera att källdokumentet har taggar synliga i Microsoft OneNote innan du felsöker koden.
tag.label är en tom sträng: Vissa taggformer har ingen textetikett i filens metadata. Använd tag.shape för att identifiera taggtypen programatiskt.
Relaterade resurser: