Wie man OneNote-Tags in Python überprüft
OneNote ermöglicht es Benutzern, Inhalte mit farbigen Tags zu annoteren: Sterne, Kontrollkästen, wichtige Flaggen und benutzerdefinierte Etiketten. Aspose.Note FOSS für Python zeigt diese Anmerkungen als NoteTag Gegenstände auf RichText, Image, AttachedFile,und . Table Die Anwendungen für die .Tags Diese Anleitung zeigt, wie man sie liest.
Schritt für Schritte
Schritt 1: Installieren Sie Aspose.Note FOSS für Python
pip install aspose-noteSchritt 2: Laden der .one-Datei ein
from aspose.note import Document
doc = Document("TaggedNotes.one")
print(f"Pages: {len(list(doc))}")Schritt 3: Tag-Notiz auf RichText-Knoten finden
Die meisten Tags sind an Textblöcken angebracht:
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}")Schritt 4: Auf Bildern Tags finden
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}")Schritt 5: Auf Tabellen finden
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]}")Schritt 6: Alle Tags im Dokument sammeln
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-Eigenschaftsbezug
| Immobilien und Vermögenswerte | Typ der | Beschreibung |
|---|---|---|
Icon | `int | None` |
Label | `str | None` |
FontColor | `int | None` |
Highlight | `int | None` |
CreationTime | `datetime | None` |
CompletedTime | `datetime | None` |
Status | TagStatus | TagStatus.Completed wenn ausgefüllt, sonst: TagStatus.Open |
Filter abgeschlossen gegen ausstehende Tags
Tags, die abgesehen wurden (wie “zu tun” Kontrollkästchen) haben eine nicht-None DieCompletedTime Feld:
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}")Erstellen eines NoteTags (im Speicher)
Die Fabrikmethode NoteTag.CreateYellowStar() erstellt einen Tag-Knoten, den Sie an neuen Inhalten im Speicher befestigen können:
from aspose.note import NoteTag
tag = NoteTag.CreateYellowStar()
print(f"Created tag: Icon={tag.Icon} Label={tag.Label!r}")In-Memory Erstellung ist nützlich für API Kompatibilität. Seit dem Schreiben zurück zu
.onewird nicht unterstützt, erstellte Tags können nicht auf Dateien angehalten werden.
Häufige Probleme
Keine Tags gefunden (Dokument gibt leere Tag-Listen zurück):Nicht alle: .one Die Daten in den Dateien enthalten Tags. Stellen Sie sicher, dass das Quelldokument tags im Microsoft OneNote sichtbar hat, bevor Sie den Code beheben.
tag.Label ist eine leere Zeichenfolge:Einige Tag-Formen haben keine Textetikette in den Metadaten. tag.Icon die Kennzeichnung des Tagtyps programmatisch zu identifizieren.
Verwandte Ressourcen: