OneNote Etiketlerini Python'de Nasıl İncelersiniz
OneNote, kullanıcıların içeriği renkli etiketlerle (yıldızlar, onay kutuları, önemli bayraklar ve özel etiketler) açıklamasına izin verir. Aspose.Note FOSS for Python bu açıklamaları şu şekilde ortaya çıkar: NoteTag nesneler olarak RichText, Image, AttachedFile, ve Table düğümler, bunların .Tags özelliği. Bu kılavuz, bunların nasıl okunacağını gösterir.
Adım Adım Kılavuz
Adım 1: Aspose.Note FOSS for Python’i Kurun
pip install aspose-noteAdım 2: .one Dosyasını Yükleyin
from aspose.note import Document
doc = Document("TaggedNotes.one")
print(f"Pages: {len(list(doc))}")Adım 3: RichText Düğümlerindeki Etiketleri Bulma
Çoğu etiket metin bloklarına eklenir:
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}")Adım 4: Görsellerdeki Etiketleri Bulma
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}")Adım 5: Tablolardaki Etiketleri Bulma
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]}")Adım 6: Belge Genelinde Tüm Etiketleri Toplama
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 Özellik Referansı
| Özellik | Tür | Açıklama |
|---|---|---|
Icon | `int | None` |
Label | `str | None` |
FontColor | `int | None` |
Highlight | `int | None` |
CreationTime | `datetime | None` |
CompletedTime | `datetime | None` |
Status | TagStatus | TagStatus.Completed tamamlandıysa, aksi takdirde TagStatus.Open |
Tamamlanmış ve Bekleyen Etiketleri Filtreleme
İşaretlenmiş etiketler (örneğin “To Do” onay kutuları) bir non-None CompletedTime alan:
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}")Bir NoteTag Oluştur (Bellek İçinde)
Fabrika yöntemi NoteTag.CreateYellowStar() yeni içeriğe bellekte ekleyebileceğiniz bir etiket düğümü oluşturur:
from aspose.note import NoteTag
tag = NoteTag.CreateYellowStar()
print(f"Created tag: Icon={tag.Icon} Label={tag.Label!r}")Bellekte oluşturma, API uyumluluğu için yararlıdır. Geri yazma .one desteklenmediği için, oluşturulan etiketler dosyaya kalıcı olarak kaydedilemez.
Ortak Sorunlar
Etiket bulunamadı (belge boş Etiket listeleri döndürür): Hepsi değil .one dosyalar etiket içerir. Kodu giderirken, kaynak belgenin Microsoft OneNote’ta görünen etiketlere sahip olduğunu doğrulayın.
tag.Label boş bir dizedir: Bazı etiket şekilleri dosya meta verilerinde metin etiketi içermez. Kullan tag.Icon etiketi tipini programlı olarak tanımlamak için.
İlgili Kaynaklar: