OneNote'tan Sayfa Üstverisini Python içinde Okuma
OneNote .one dosyalar, tam belge DOM’unu ayrıştırmadan okuyabileceğiniz meta verileri depolar. Şu konumda belge seviyesinde, Document.FileFormat size, dosyanın hangi OneNote varyantını kullandığını söyler. Şu konumda sayfa seviyesinde, her Page yazar, oluşturulma zaman damgası, son‑değiştirilme zaman damgası ve hiyerarşi seviyesini taşır. Aspose.Note FOSS for Python bunları şu aracılığıyla ortaya koyar: Document ve Page sınıfları.
Önkoşullar
pip install aspose-noteBelge Seviyesi Üstveri
Bu Document nesne bir meta veri özelliği ortaya koyar:
| Özellik | Tür | Açıklama |
|---|---|---|
doc.FileFormat | FileFormat | OneNote varyantı: FileFormat.OneNote2010, FileFormat.OneNoteOnline, ya da FileFormat.Unknown. |
from aspose.note import Document
doc = Document("MyNotes.one")
print(f"File format: {doc.FileFormat}")Sayfa Seviyesi Üstveri
Her Page nesne taşır:
| Özellik | Tür | Açıklama |
|---|---|---|
page.Author | `str | None` |
page.CreationTime | `datetime | None` |
page.LastModifiedTime | `datetime | None` |
page.Level | `int | None` |
Adım 1: Her Sayfa İçin Üstveriyi Oku
from aspose.note import Document, Page
doc = Document("ProjectNotes.one")
for i, page in enumerate(doc, start=1):
title = ""
if page.Title and page.Title.TitleText:
title = page.Title.TitleText.Text.strip()
level = page.Level or 0
indent = " " * level
author = page.Author or "(unknown)"
created = page.CreationTime.strftime("%Y-%m-%d") if page.CreationTime else "(none)"
modified = page.LastModifiedTime.strftime("%Y-%m-%d %H:%M") if page.LastModifiedTime else "(none)"
print(f"{indent}[{i}] {title or '(untitled)'}")
print(f"{indent} Author: {author}")
print(f"{indent} Created: {created}")
print(f"{indent} Modified: {modified}")
print(f"{indent} Level: {level}")Tam Örnek: Üstveri Raporu
from aspose.note import Document
def print_metadata_report(one_path: str) -> None:
doc = Document(one_path)
print()
for i, page in enumerate(doc, start=1):
title = ""
if page.Title and page.Title.TitleText:
title = page.Title.TitleText.Text.strip()
level = page.Level or 0
prefix = " " * level + f"[{i}]"
parts = [prefix, f'"{title or "(untitled)"}"']
if page.Author:
parts.append(f"by {page.Author}")
if page.CreationTime:
parts.append(f"created {page.CreationTime.strftime('%Y-%m-%d')}")
if page.LastModifiedTime:
parts.append(f"modified {page.LastModifiedTime.strftime('%Y-%m-%d')}")
print(" ".join(parts))
print_metadata_report("ProjectNotes.one")Alt Sayfaları Algılama
OneNote’ta, alt sayfalar görsel olarak üst sayfanın altında girintili gösterilir. page.Level özellik bu iç içeliği yansıtır:
from aspose.note import Document
doc = Document("MyNotes.one")
for page in doc:
level = page.Level or 0
title = ""
if page.Title and page.Title.TitleText:
title = page.Title.TitleText.Text.strip()
indent = " " * level
marker = "├─" if level > 0 else "•"
print(f"{indent}{marker} {title or '(untitled)'}")Seviye değerleri:
0: üst düzey sayfa1: birinci düzey alt sayfa (bir girinti)2: ikinci düzey alt sayfa (iki girinti)
Notlar
- Tüm zaman damgaları (
CreationTime,LastModifiedTime) şudurdatetimenesneler mevcut olduğunda UTC’de. page.LeveldöndürürNoneikili formatta seviye depolanmamış sayfalar için. Ele alNoneolarak0kullanarakpage.Level or 0.