OneNote Etiketlerini Python'de Nasıl İncelersiniz

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-note

Adı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ı

ÖzellikTürAçıklama
Icon`intNone`
Label`strNone`
FontColor`intNone`
Highlight`intNone`
CreationTime`datetimeNone`
CompletedTime`datetimeNone`
StatusTagStatusTagStatus.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:

 Türkçe