دليل المطور
Aspose.Note FOSS for Python is a free, open-source library for reading Microsoft OneNote .one ملفات القسم دون أي إدمان على Microsoft Office. يوفر API عام نظيف تحت aspose.note حزمة، نمذجة بعد Aspose.Note لواجهة .NET. مكتبة مناسبة لأتمتة المستندات، ومحتوى فهرسة، وأنابيب استخراج البيانات، وتدفقات العمل الأرشيف.
يغطي هذا الدليل المطور مساحة API العامة الكاملة المتاحة في الإصدار 26.3.1 ، مع أمثلة رمزية قابلة للتحرك لكل ميزة رئيسية.
تحميل الوثيقة
تحميل A .one الملفات من مسار ملف أو تدفق ثنائي. Document فئة هي نقطة الدخول لجميع العمليات.
تحميل من مسار الملفات
from aspose.note import Document
doc = Document("MyNotes.one")تحميل من سلك ثنائي
مفيد عند القراءة من التخزين السحابي، استجابة HTTP، أو في الذاكرة:
from pathlib import Path
from aspose.note import Document
with Path("MyNotes.one").open("rb") as f:
doc = Document(f)خيارات الشحن
استخدام LoadOptions لتحديد المعلمات الاختيارية في وقت الشحن:
from aspose.note import Document, LoadOptions
opts = LoadOptions()
opts.LoadHistory = True # Include page history in the DOM
doc = Document("MyNotes.one", opts)ملاحظة:
DocumentPasswordموجودة علىLoadOptionsمتوافقة مع API، ولكن المستندات المشفرة لا تدعم. محاولة تحميل ملف مشفر يرفعIncorrectPasswordException.
الهيكل الوثائقي (DOM)
نموذج وثيقة OneNote هو شجرة:
Document
└── Page (0..n)
├── Title
│ ├── TitleText (RichText)
│ ├── TitleDate (RichText)
│ └── TitleTime (RichText)
└── Outline (0..n)
└── OutlineElement (0..n)
├── RichText
├── Image
├── Table
│ └── TableRow
│ └── TableCell
│ └── RichText / Image
└── AttachedFileكل عينات عرض ParentNode و أ Document الممتلكات التي تسير إلى الجذر.المكونات العقدية تدعم إيتراation الطفل،, FirstChild, LastChild, AppendChildLast, InsertChild, RemoveChild,و ، و GetChildNodes(Type).
صفحة إيتراين
الابن هو الطفل المباشر للطفل Document.- إزالتها مباشرة أو استخدامها. GetChildNodes:
from aspose.note import Document, Page
doc = Document("MyNotes.one")
for page in doc:
title = page.Title.TitleText.Text if page.Title and page.Title.TitleText else "(untitled)"
author = page.Author or "(unknown)"
print(f" {title} [by {author}]")صفحة الميتا:
| الممتلكات | نوع | وصف |
|---|---|---|
Title | `Title | None` |
Author | `str | None` |
CreationTime | `datetime | None` |
LastModifiedTime | `datetime | None` |
Level | `int | None` |
نص استخراج
إخراج النص الكامل
from aspose.note import Document, RichText
doc = Document("MyNotes.one")
all_text = [rt.Text for rt in doc.GetChildNodes(RichText) if rt.Text]
print("\n".join(all_text))فحص تشكيل الجولات
كل واحد منهم RichText يحتوي على قائمة من TextRun كل ركوب يحمل نفسه TextStyle:
from aspose.note import Document, RichText
doc = Document("FormattedNotes.one")
for rt in doc.GetChildNodes(RichText):
for run in rt.TextRuns:
style = run.Style
flags = []
if style.IsBold: flags.append("bold")
if style.IsItalic: flags.append("italic")
if style.IsHyperlink: flags.append(f"link={style.HyperlinkAddress}")
print(f"{run.Text!r:40s} [{', '.join(flags)}]")استخراج hyperlinks
from aspose.note import Document, RichText
doc = Document("MyNotes.one")
for rt in doc.GetChildNodes(RichText):
for run in rt.TextRuns:
if run.Style.IsHyperlink and run.Style.HyperlinkAddress:
print(run.Text, "->", run.Style.HyperlinkAddress)صورة استخراج
from aspose.note import Document, Image
doc = Document("MyNotes.one")
for i, img in enumerate(doc.GetChildNodes(Image), start=1):
name = img.FileName or f"image_{i}.bin"
with open(name, "wb") as f:
f.write(img.Bytes)
print(f"Saved {name} ({img.Width}x{img.Height})")صور الخصائص : FileName, Bytes, Width, Height, AlternativeTextTitle, AlternativeTextDescription, HyperlinkUrl, Tags.
طاولة البارسين
from aspose.note import Document, Table, TableRow, TableCell, RichText
doc = Document("MyNotes.one")
for table in doc.GetChildNodes(Table):
print("Column widths:", [col.Width for col in table.Columns])
for r, row in enumerate(table.GetChildNodes(TableRow), start=1):
cells = row.GetChildNodes(TableCell)
row_text = [
" ".join(rt.Text for rt in cell.GetChildNodes(RichText)).strip()
for cell in cells
]
print(f"Row {r}:", row_text)ملفات متصلة
from aspose.note import Document, AttachedFile
doc = Document("NotesWithAttachments.one")
for i, af in enumerate(doc.GetChildNodes(AttachedFile), start=1):
name = af.FileName or f"attachment_{i}.bin"
with open(name, "wb") as f:
f.write(af.Bytes)
print(f"Saved: {name}")Tags و قائمة رقمية
تحقق من الملاحظات
from aspose.note import Document, RichText, Image, Table
doc = Document("TaggedNotes.one")
for rt in doc.GetChildNodes(RichText):
for tag in rt.Tags:
print(f"RichText tag: {tag.Label} icon={tag.Icon}")
for img in doc.GetChildNodes(Image):
for tag in img.Tags:
print(f"Image tag: {tag.Label}")فحص القوائم المعدلة
from aspose.note import Document, OutlineElement
doc = Document("NumberedNotes.one")
for oe in doc.GetChildNodes(OutlineElement):
nl = oe.NumberList
if nl:
print(f"format={nl.Format!r}")نموذج الزيارة
استخدام DocumentVisitor لتنفيذ زائر يمشي على شجرة الوثيقة بأكملها:
from aspose.note import Document, DocumentVisitor, Page, RichText, Image
class ContentCounter(DocumentVisitor):
def __init__(self):
self.pages = 0
self.texts = 0
self.images = 0
def VisitPageStart(self, page: Page) -> None:
self.pages += 1
def VisitRichTextStart(self, rt: RichText) -> None:
self.texts += 1
def VisitImageStart(self, img: Image) -> None:
self.images += 1
doc = Document("MyNotes.one")
counter = ContentCounter()
doc.Accept(counter)
print(f"Pages: {counter.pages}, Texts: {counter.texts}, Images: {counter.images}")PDF تصدير
يتطلب تصدير PDF إمكانية الاعتماد على ReportLab الاختياري.ثم قم بتثبيته باستخدام:
pip install aspose-notePDF الأساسي الصادرات
from aspose.note import Document, SaveFormat
doc = Document("MyNotes.one")
doc.Save("output.pdf", SaveFormat.Pdf)PDF مع الخيارات
import io
from aspose.note import Document, SaveFormat
from aspose.note.saving import PdfSaveOptions
doc = Document("MyNotes.one")
##With save options
opts = PdfSaveOptions()
doc.Save("output.pdf", opts)
##Save to in-memory stream
buf = io.BytesIO()
doc.Save(buf, PdfSaveOptions())
pdf_bytes = buf.getvalue()ملاحظة:
PdfSaveOptions.PageIndexوPageCountالحقول موجودة ولكن لا يتم إرسالها إلى مستورد PDF في v26.3.1.
الحد الأدنى للحدود الحالية
| المنطقة | حالة |
|---|---|
قراءة .one ملفات | دعم كامل |
| PDF (من خلال تقرير) | دعم |
الكتابة مرة أخرى إلى .one | غير تنفيذية |
| وثائق مشفرة | غير مدعوم (الصعود) IncorrectPasswordException) |
| HTML / صورة / One حفظ تنسيقات | إعلان متوافق مع API؛ رفع UnsupportedSaveFormatException |
دليل متاح
- مميزات نظرة عامة: قائمة كاملة مع الأدلة
- بدءاً من: متطلبات، وتثبيت، والخطوات الأولى
- التثبيت: تثبيت pip و الاعتماد الاختياري