Πώς να ελέγξετε τα 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 | `int | None` |
Label | `str | None` |
FontColor | `int | None` |
Highlight | `int | None` |
CreationTime | `datetime | None` |
CompletedTime | `datetime | None` |
Status | TagStatus | TagStatus.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 Να αναγνωρίσουμε το είδος του ετικέτα προγραμματικά.
Σχετικά με τους πόρους: