Wie man Seiten-Metadaten aus OneNote in Python liest
OneNote .one DOM-Dateien speichern Metadaten, die Sie ohne das gesamte Dokument zu analysieren lesen können. Dokument der Ebene, Document.FileFormat Sie können die Versionen von OneNote, die in der Datei verwendet werden. Seite die einzelnen Page enthält den Autor, die Zeitmarke der Erstellung, das letzte Modifizierte und die Hierarchie. Aspose.Note FOSS für Python zeigt diese durch die Document und . Page Unterricht.
Voraussetzungen für die Durchführung der Maßnahmen
pip install aspose-noteMetadaten auf Dokumentenebene
Die Document Objekt zeigt eine Metadaten-Eigenschaft:
| Immobilien und Vermögenswerte | Typ der | Beschreibung |
|---|---|---|
doc.FileFormat | FileFormat | Die OneNote-Variante: FileFormat.OneNote2010, FileFormat.OneNoteOnline,oder , FileFormat.Unknown. |
from aspose.note import Document
doc = Document("MyNotes.one")
print(f"File format: {doc.FileFormat}")Metadaten auf Seitenebene
Jeder von ihnen Page Objekt trägt:
| Immobilien und Vermögenswerte | Typ der | Beschreibung |
|---|---|---|
page.Author | `str | None` |
page.CreationTime | `datetime | None` |
page.LastModifiedTime | `datetime | None` |
page.Level | `int | None` |
Schritt 1: Metadaten für jede Seite lesen
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}")Vollständiges Beispiel: Metadatenbericht
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")Unterseiten erkennen
In OneNote sind Unterseiten visuell unter ihrer Hauptseite eingeschränkt. page.Level Eigenschaft spiegelt diese Verschachtelung wider:
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)'}")Niveauwerte:
0: Seite der obersten Ebene1: Unterseite der ersten Ebene (ein Gedankenstrich)2: Unterseite zweiter Stufe (zwei Gedankenstücke)
Anmerkungen
- Alle Zeitmarken (
CreationTime,LastModifiedTime) sind:datetimeGegenstände in UTC, wenn vorhanden. page.LevelRückgabeNonefür Seiten, auf denen das Level nicht im binären Format gespeichert wurde.Noneals0Verwendung vonpage.Level or 0.