Kuinka tarkastella OneNote‑tunnisteita Pythonilla

Kuinka tarkastella OneNote‑tunnisteita Pythonilla

OneNote antaa käyttäjien lisätä merkintöjä sisällön kanssa värillisin tunnistein: tähdet, valintaruudut, tärkeät liput ja mukautetut merkinnät. Aspose.Note FOSS for Python paljastaa nämä merkinnät NoteTag-objekteina RichText-, Image-, AttachedFile- ja Table-solmuissa niiden .Tags-ominaisuuden kautta. Tämä opas näyttää, miten ne luetaan.


Vaiheittainen opas

Vaihe 1: Asenna Aspose.Note FOSS Pythonille

pip install aspose-note

Vaihe 2: Lataa .one‑tiedosto

from aspose.note import Document

doc = Document("TaggedNotes.one")
print(f"Pages: {len(list(doc))}")

Vaihe 3: Etsi tunnisteita RichText-solmuista

Useimmat tunnisteet liitetään tekstilohkoihin:

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}")

Vaihe 4: Etsi tunnisteet kuvista

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}")

Vaihe 5: Etsi tunnisteita taulukoista

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]}")

Vaihe 6: Kerää kaikki tunnisteet koko asiakirjasta

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-ominaisuuden viite

OminaisuusTyyppiKuvaus
Iconint | NoneNumeraalinen tunnisteen muodon tunniste (tähti, valintaruutu, nuoli, jne.)
Labelstr | NoneIhmisluettava tunnisteen merkkijono (esim. "Important", "To Do")
FontColorint | NoneTekstin väri ARGB‑kokonaislukuna
Highlightint | NoneKorostusväri ARGB‑kokonaislukuna
CreationTimedatetime | NoneMilloin tunniste luotiin
CompletedTimedatetime | NoneMilloin tunniste suoritettiin (None jos ei suoritettu)
StatusTagStatusTagStatus.Completed jos suoritettu, muuten TagStatus.Open

Suodata valmiit vs odottavat tunnisteet

Tunnisteet, jotka on merkitty valmiiksi (kuten “To Do” -valintaruudut), sisältävät ei-None CompletedTime -kentän:

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}")

Luo NoteTag (muistissa)

Tehdasmenetelmä NoteTag.CreateYellowStar() luo tunniste‑solmun, jonka voit liittää uuteen sisältöön muistissa:

from aspose.note import NoteTag

tag = NoteTag.CreateYellowStar()
print(f"Created tag: Icon={tag.Icon}  Label={tag.Label!r}")

Muistissa luominen on hyödyllistä API-yhteensopivuuden vuoksi. Koska takaisin kirjoittaminen .one ei ole tuettu, luotuja tunnisteita ei voida tallentaa tiedostoon.


Yleiset ongelmat

Ei tunnisteita löydetty (asiakirja palauttaa tyhjät tunnistelistat): Kaikissa .one-tiedostoissa ei ole tunnisteita. Varmista, että lähdeasiakirjassa on tunnisteet näkyvissä Microsoft OneNotessa ennen koodin vianmääritystä.

tag.Label on tyhjä merkkijono: Jotkut tunnisteen muodot eivät sisällä tekstietikettiä tiedoston metatiedoissa. Käytä tag.Icon tunnistamaan tunnistetyyppi ohjelmallisesti.


Liittyvät resurssit:

 Suomi