Kaip patikrinti OneNote žymas naudojant Python
OneNote leidžia vartotojams anotuoti turinį spalvotomis žymėmis: žvaigždutėmis, varnele, svarbiais žymėjimais ir pasirinktinais etiketėmis. Aspose.Note FOSS for Python atskleidžia šias anotacijas kaip NoteTag objektus RichText, Image, AttachedFile ir Table mazguose per jų .Tags savybę. Ši vadovas rodo, kaip jas skaityti.
Žingsnis po žingsnio vadovas
Žingsnis 1: Įdiekite Aspose.Note FOSS for Python
pip install aspose-noteŽingsnis 2: Įkelti .one failą
from aspose.note import Document
doc = Document("TaggedNotes.one")
print(f"Pages: {len(list(doc))}")Žingsnis 3: Rasti žymas RichText mazguose
Dauguma žymių yra priskiriamos teksto blokams:
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}")Žingsnis 4: Rasti žymas paveikslėliuose
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}")Žingsnis 5: Rasti žymas lentelėse
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]}")Žingsnis 6: Surinkti visas žymas visame dokumente
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 savybės nuoroda
| Property | Type | Description |
|---|---|---|
Icon | int | None | Skaitinis žymės formos identifikatorius (žvaigždutė, žymimasis langelis, rodyklė ir kt.) |
Label | str | None | Žmogui skaitoma etiketės eilutė (pvz., "Important", "To Do") |
FontColor | int | None | Teksto spalva kaip ARGB sveikasis skaičius |
Highlight | int | None | Paryškinimo spalva kaip ARGB sveikasis skaičius |
CreationTime | datetime | None | Kada žymė buvo sukurta |
CompletedTime | datetime | None | Kada žymė buvo baigta (None, jei nebaigta) |
Status | TagStatus | TagStatus.Completed, jei baigta, priešingu atveju TagStatus.Open |
Filtruoti baigtas ir laukiančias žymas
Žymės, kurios buvo pažymėtos (pvz., „To Do“ žymimasis langelis), turi ne-None CompletedTime laukelį:
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}")Sukurti NoteTag (Atmintyje)
Gaminių metodas NoteTag.CreateYellowStar() sukuria žymės mazgą, kurį galite prisegti prie naujo turinio atmintyje:
from aspose.note import NoteTag
tag = NoteTag.CreateYellowStar()
print(f"Created tag: Icon={tag.Icon} Label={tag.Label!r}")Atminties kūrimas yra naudingas API suderinamumui. Kadangi rašymas atgal į
.onenepalaikomas, sukurtų žymių negalima išsaugoti faile.
Dažnos problemos
Nerasta žymių (dokumentas grąžina tuščią Žymių sąrašą): Ne visi .one failai turi žymes. Patikrinkite, ar šaltinio dokumente žymės matomos Microsoft OneNote programoje, prieš sprendžiant kodo problemas.
tag.Label yra tuščia eilutė: Kai kurie žymų formos neturi teksto etiketės failo metaduomenyse. Naudokite tag.Icon norėdami programiškai identifikuoti žymos tipą.
Susiję ištekliai: