Kaip patikrinti OneNote žymas naudojant Python

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

PropertyTypeDescription
Iconint | NoneSkaitinis žymės formos identifikatorius (žvaigždutė, žymimasis langelis, rodyklė ir kt.)
Labelstr | NoneŽmogui skaitoma etiketės eilutė (pvz., "Important", "To Do")
FontColorint | NoneTeksto spalva kaip ARGB sveikasis skaičius
Highlightint | NoneParyškinimo spalva kaip ARGB sveikasis skaičius
CreationTimedatetime | NoneKada žymė buvo sukurta
CompletedTimedatetime | NoneKada žymė buvo baigta (None, jei nebaigta)
StatusTagStatusTagStatus.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 į .one nepalaikomas, 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:

 Lietuvių