Πώς να ελέγξετε τα OneNote Tags στο Python

Πώς να ελέγξετε τα OneNote Tags στο Python

Το OneNote επιτρέπει στους χρήστες να σημειώνουν περιεχόμενο με χρωματιστές ετικέτες: αστέρια, κουτιά ελέγχου, σημαντικές σημαίες και προσαρμοσμένες εικασίες.Το Aspose.Nota FOSS για Python παρουσιάζει αυτές τις αναφορές ως: NoteTag αντικείμενα σε RichText, Image, AttachedFile,και Table Τα κόμβα μέσα από τους .Tags Ο οδηγός μας δείχνει πώς να τα διαβάζουμε.


Βήμα προς βήμα οδηγός

Βήμα 1: Εγκατάσταση Aspose.Note FOSS για Python

pip install aspose-note

Βήμα 2: Κατεβάστε το αρχείο .one

from aspose.note import Document

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

Βήμα 3: Αναζητήστε τα ετικέτα σε κενά RichText

Οι περισσότερες ετικέτες συνδέονται με κείμενα μπλοκ:

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

Βήμα 4: Αναζητήστε τα ετικέτα στις εικόνες

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: Βρείτε τα ετικέτα σε πίνακες

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: Συλλέξτε όλες τις ετικέτες μέσα από το έγγραφο

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)

Σημείωση Ιδιοκτησίας αναφοράς

ΙδιοκτησίαΤύποςΠεριγραφή
Icon`intNone`
Label`strNone`
FontColor`intNone`
Highlight`intNone`
CreationTime`datetimeNone`
CompletedTime`datetimeNone`
StatusTagStatusTagStatus.Completed Αν ολοκληρωθεί, τότε TagStatus.Open

Filter Συνελήφθη vs Εμφανίσεις Tags

Τα ετικέτα που έχουν ξεκινήσει (όπως τα κουτιά ελέγχου “To Do”) έχουν ένα μη-None ΟΙ ΠΡΟΣΟΧΕΣCompletedTime Το πεδίο:

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

Δημιουργία μνήμης (in memory)

Η μέθοδος του εργοστασίου NoteTag.CreateYellowStar() δημιουργεί ένα κουμπί ετικετών που μπορείτε να προσθέσετε σε νέα περιεχόμενο στη μνήμη:

from aspose.note import NoteTag

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

Η δημιουργία σε μνήμη είναι χρήσιμη για τη συμβατότητα API. Από την επιστροφή στο .one δεν υποστηρίζεται, οι δημιουργημένες ετικέτες δεν μπορούν να επιμείνουν στο αρχείο.


κοινά ζητήματα

Δεν βρέθηκαν ετικέτες (ο έγγραφο επιστρέφει κενές λίστες εμβολίων):Όχι όλοι .one Ελέγξτε το αρχείο προέλευσης έχει τα σήματα ορατά στο Microsoft OneNote πριν από την επίλυση προβλημάτων του κώδικα.

tag.Label Είναι ένα κενό ράφι: Ορισμένες μορφές ετικετών δεν έχουν μια εικαστική επισήμανση κειμένου στα μεταδεδομένα αρχείου. tag.Icon Να αναγνωρίσουμε το είδος του ετικέτα προγραμματικά.


Σχετικά με τους πόρους:

 Ελληνικά