Kā pārbaudīt OneNote birkas Python valodā

Kā pārbaudīt OneNote birkas Python valodā

OneNote ļauj lietotājiem pievienot piezīmes saturam ar krāsainām birkām: zvaigznes, izvēles rūtiņas, svarīgi karogi un pielāgotas etiķetes. Aspose.Note FOSS for Python atklāj šīs anotācijas kā NoteTag objektus uz RichText, Image, AttachedFile un Table mezgliem caur to .Tags īpašību. Šis ceļvedis parāda, kā tās nolasīt.


Rokasgrāmata soli pa solim

1. solis: instalējiet Aspose.Note FOSS priekš Python

pip install aspose-note

2. solis: Ielādēt .one failu

from aspose.note import Document

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

Solis 3: Atrast tagus RichText mezglos

Lielākā daļa tagu ir pievienoti teksta blokiem:

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

Solis 4: Atrast tagus attēlos

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

5. solis: Atrodiet tagus tabulās

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

6. solis: Savākt visus tagus visā 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)

NoteTag īpašības atsauce

ĪpašībaTipsApraksts
Iconint | NoneSkaitliska birkas formas identifikators (zvaigzne, izvēles rūtiņa, bulta utt.)
Labelstr | NoneCilvēkam lasāma etiķetes virkne (piem., "Important", "To Do")
FontColorint | NoneTeksta krāsa kā ARGB vesels skaitlis
Highlightint | NoneIzcelšanas krāsa kā ARGB vesels skaitlis
CreationTimedatetime | NoneKad birka tika izveidota
CompletedTimedatetime | NoneKad birka tika pabeigta (None, ja nav pabeigta)
StatusTagStatusTagStatus.Completed, ja pabeigta, pretējā gadījumā TagStatus.Open

Filtrēt pabeigtās pret gaidāmās birkas

Tagi, kas ir atzīmēti (piemēram, “To Do” izvēles rūtiņas), ir ar ne-None CompletedTime lauku:

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

Izveidot NoteTag (atmiņā)

Rūpnīcas metode NoteTag.CreateYellowStar() izveido tagu mezglu, ko varat pievienot jaunam saturam atmiņā:

from aspose.note import NoteTag

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

Atmiņā izveide ir noderīga API saderībai. Tā kā rakstīšana atpakaļ uz .one nav atbalstīta, izveidotās birkas nevar saglabāt failā.


Biežāk sastopamās problēmas

Nav atrastu tagu (dokuments atgriež tukšu Tagu sarakstu): Ne visi .one faili satur tagus. Pārbaudiet, vai avota dokumentam ir redzami tagi Microsoft OneNote, pirms risināt koda problēmas.

tag.Label ir tukša virkne: Dažām tagu formām faila metadatos nav teksta etiķetes. Izmantojiet tag.Icon, lai programmatūrā identificētu taga tipu.


Saistītie resursi:

 Latviešu