Kako pregledati OneNote oznake u Python
OneNote omogućuje korisnicima da anotiraju sadržaj obojenim oznakama: zvijezdicama, potvrdnim okvirima, važnim zastavicama i prilagođenim oznakama. Aspose.Note FOSS za Python izlaže ove anotacije kao NoteTag objekte na RichText, Image, AttachedFile, i Table čvorove putem njihovog .Tags svojstva. 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 datoteku
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 pričvršćena uz 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} Icon={tag.Icon} 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 u tablicama
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: Prikupite sve oznake kroz dokument
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)Referenca svojstva NoteTag
| Svojstvo | Tip | Opis |
|---|---|---|
Icon | `int | None` |
Label | `str | None` |
FontColor | `int | None` |
Highlight | `int | None` |
CreationTime | `datetime | None` |
CompletedTime | `datetime | None` |
Status | TagStatus | TagStatus.Completed ako je dovršena, inače TagStatus.Open |
Filtrirajte dovršene i čekajuće oznake
Oznake koje su označene (kao kućice za odabir „To Do“) imaju ne-None CompletedTime 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.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}")Stvorite NoteTag (u memoriji)
Metoda tvornice NoteTag.CreateYellowStar() stvara čvor oznake koji možete priložiti novom sadržaju u memoriji:
from aspose.note import NoteTag
tag = NoteTag.CreateYellowStar()
print(f"Created tag: Icon={tag.Icon} Label={tag.Label!r}")Stvaranje u memoriji korisno je za kompatibilnost API-ja. Budući da pisanje natrag u .one nije podržano, stvorene oznake ne mogu se trajno pohraniti u datoteku.
Uobičajeni problemi
Nisu pronađene oznake (dokument vraća prazne popise oznaka): Nisu sve .one datoteke sadrže oznake. Provjerite da izvorni dokument ima oznake vidljive u Microsoft OneNoteu prije otklanjanja grešaka u kodu.
tag.Label je prazni string: Neki oblici oznaka nemaju tekstualnu oznaku u metapodacima datoteke. Upotrijebite tag.Icon za programatsko identificiranje vrste oznake.
Povezani resursi: