1. محصولات
  2.   Aspose.Note
  3.   Aspose.Note FOSS for Python

Aspose.Note FOSS برای Python

فایل‌های Microsoft OneNote (.one) را از Python بخوانید، مرور کنید و صادر کنید — رایگان و منبع باز، نیازی به Microsoft Office نیست.

کتابخانه منبع باز Python برای فایل‌های OneNote

Aspose.Note FOSS برای Python یک کتابخانه ۱۰۰٪ رایگان با مجوز MIT است که به شما امکان می‌دهد فایل‌های Microsoft OneNote (.one) را به‌صورت کامل از Python بخوانید، بدون Microsoft Office، بدون اتوماسیون COM و بدون نیاز به زمان اجرا مالکیتی. این کتابخانه یک API عمومی تمیز (aspose.note.*) را ارائه می‌دهد که بر پایهٔ رابط آشنای Aspose.Note برای .NET مدل‌سازی شده است و توسط یک تجزیه‌گر باینری داخلی MS-ONE/OneStore که به‌صورت خالص Python نوشته شده، پشتیبانی می‌شود.

از PyPI با pip install aspose-note نصب کنید (یا pip install "aspose-note[pdf]" برای فعال‌سازی خروجی PDF). نیاز به Python 3.10 یا بالاتر دارد.

این کتابخانه برای اسکریپت‌های خودکارسازی اسناد، خطوط لوله ایندکس‌گذاری محتوا، ابزارهای بایگانی، و هر جریان کاری سمت سرور که نیاز به مصرف محتوای OneNote بدون وابستگی به Microsoft Office دارد، مناسب است. برای خانواده محصول سازمانی، به Aspose.Note — Enterprise Product Family مراجعه کنید.

خواندن و مرور اسناد OneNote

  • بارگذاری فایل‌های .one: هر بخش OneNote را از مسیر فایل یا جریان باینری از طریق Document باز کنید.
  • پیمایش کامل DOM: پیمایش Document → Page → Outline → OutlineElement → RichText / Image / Table / AttachedFile
  • استخراج متن غنی: متن خام را از طریق RichText.Text بخوانید یا بخش‌های TextRun را برای متادیتای بولد، ایتالیک، فونت، رنگ و پیوندهای ابرمتنی بررسی کنید.
  • تجزیه جدول: سلسله‌مراتبی Table → TableRow → TableCell را پیمایش کنید؛ عرض ستون‌ها را از طریق TableColumn.Width بخوانید.
  • بازرسی برچسب: متادیتای NoteTag (شکل، برچسب، رنگ، وضعیت تکمیل) را در گره‌های متن، تصویر و جدول بخوانید.

جایی که Aspose.Note FOSS می‌تواند استفاده شود

  • فهرست‌گذاری محتوا: استخراج و فهرست‌گذاری تمام متن‌ها از بایگانی‌های OneNote برای خط لوله‌های جستجو.
  • Document migration: صادر کردن بخش‌های OneNote به PDF، متن ساده، یا داده‌های ساختاریافته.
  • ابزارهای بایگانی: تصاویر و پیوست‌های توکار را از فایل‌های .one به دیسک ذخیره کنید.
  • CI/CD workflows: اعتبارسنجی یا پردازش محتوای OneNote درون کانتینرهای Docker.
  • پایپلاین‌های پایگاه دانش: استخراج محتوای ساختاریافته از دفترچه‌های OneNote تیم.

صادرات، تصاویر و پیوست‌ها

  • صدور PDF: هر Document بارگذاری‌شده‌ای را با استفاده از Document.Save(path, SaveFormat.Pdf) به PDF ذخیره کنید. نسخه FOSS از رندر پیش‌فرض استفاده می‌کند؛ گزینه‌های پیشرفته PDF برای هر صفحه در این نسخه موجود نیستند.
  • صادرات تصویر: گره‌های Image را تکرار کنید تا بایت‌های خام (Bytes), نام فایل (FileName), و ابعاد (OriginalWidth, OriginalHeight) را بازیابی کنید.
  • ذخیره‌سازی پیوست: گره‌های AttachedFile را برای ذخیرهٔ پیوست‌های فایل جاسازی‌شده روی دیسک تکرار کنید.
  • بارگذاری مبتنی بر جریان: فایل‌های .one را از یک جریان باینری (مثلاً io.BytesIO) بدون نوشتن بر روی دیسک باز کنید.

تجربهٔ توسعه‌دهنده

Aspose.Note FOSS با یک فرمان pip install aspose-note نصب می‌شود. بسته پایه هیچ وابستگی اختیاری ندارد؛ خروجی PDF نیاز به ReportLab دارد که از طریق pip install "aspose-note[pdf]" نصب می‌شود.

API بر پایه رابط آشنای Aspose.Note برای .NET مدل‌سازی شده است: Document، Page، Outline، RichText، Image، Table، AttachedFile. این کتابخانه تحت مجوز MIT، منبع باز است و گزارش‌های باگ و مشارکت‌ها را در GitHub می‌پذیرد.

یک فایل OneNote را بارگذاری کنید و تمام متن را استخراج کنید

با pip نصب کنید، سپس مسیر فایل را به Document() بدهید تا فرمت باینری OneNote را تجزیه کند. GetChildNodes(RichText) یک جستجوی بازگشتی عمیق انجام می‌دهد و هر گره متنی در سند را برمی‌گرداند، که برای ایندکس‌گذاری تمام‌متن یا خطوط لوله مهاجرت مفید است.

pip install aspose-note
from aspose.note import Document, RichText
doc = Document("notebook.one")
print(f"Pages: {len(list(doc))}")
# Extract all text across the entire document
texts = [rt.Text for rt in doc.GetChildNodes(RichText) if rt.Text]
for text in texts:
   print(text)

صادرات به PDF و ذخیرهٔ تصاویر پیوست

صادرات PDF به وابستگی اختیاری ReportLab نیاز دارد. آن را با pip install "aspose-note[pdf]" نصب کنید. همان شیء Document می‌تواند برای گره‌های Image نیز تکرار شود تا تمام تصاویر جاسازی‌شده را در یک عبور استخراج و روی دیسک ذخیره کند.

from aspose.note import Document, SaveFormat, Image
import pathlib

doc = Document("notebook.one")

# Export the document to PDF (requires aspose-note[pdf])
doc.Save("output.pdf", SaveFormat.Pdf)

# Save all embedded images to disk
out_dir = pathlib.Path("images")
out_dir.mkdir(exist_ok=True)
for i, img in enumerate(doc.GetChildNodes(Image)):
   name = img.FileName or f"image_{i}.bin"
   (out_dir / name).write_bytes(img.Bytes)

سوالات متداول

Aspose.Note FOSS - FOSS Aspose.Note برای Python چیست؟

این یک کتابخانهٔ رایگان و تحت مجوز MIT Python برای خواندن فایل‌های Microsoft OneNote (.one) است که نیازی به Microsoft Office، خودکارسازی COM، یا هر زمان‌اجرای مالکیتی ندارد.

کدام گونه‌های فرمت OneNote پشتیبانی می‌شوند؟

OneNote 2010، OneNote Online، و انواع فرمت OneNote 2007. هر فایل بخش .one معتبر می‌تواند بارگذاری شود.

چگونه آن را نصب کنم؟

برای کتابخانه پایه pip install aspose-note را اجرا کنید، یا برای افزودن وابستگی اختیاری ReportLab جهت خروجی PDF، pip install "aspose-note[pdf]" را اجرا کنید.

آیا می‌توانم فایل‌های OneNote را به PDF صادر کنم؟

بله. Document.Save(path, SaveFormat.Pdf) را فراخوانی کنید. خروجی PDF نیاز به وابستگی اختیاری ReportLab دارد که از طریق افزونه [pdf] نصب می‌شود.

آیا می‌توانم فایل‌های .one را از یک جریان بارگذاری کنم؟

بله. کلاس Document یک جریان باینری (مثلاً io.BytesIO یا بدنهٔ پاسخ HTTP) را می‌پذیرد تا بتوانید فایل‌ها را بدون نوشتن بر روی دیسک پردازش کنید.

کدام نسخهٔ Python مورد نیاز است؟

Python 3.10 یا نسخهٔ بعدی مورد نیاز است.

آیا می‌توانم یک فایل .one را بنویسم یا اصلاح کنم؟

خیر. نسخهٔ فعلی فقط‑خواندنی است. می‌تواند هر فایل بخش .one معتبر را باز و تجزیه کند، اما نوشتن مجدد به فرمت باینری OneNote پشتیبانی نمی‌شود.

آیا اسناد رمزگذاری‌شده OneNote پشتیبانی می‌شوند؟

خیر. بارگذاری یک فایل .one محافظت‌شده با رمز، یک IncorrectPasswordException را ایجاد می‌کند. اسناد رمزگذاری‌شده در نسخهٔ فعلی پشتیبانی نمی‌شوند.

کجا می‌توانم کد منبع را پیدا کنم؟

این کتابخانه تحت مجوز MIT است و در GitHub میزبانی می‌شود. گزارش‌های باگ و درخواست‌های pull خوش‌آمدید.

  

منابع پشتیبانی و آموزش

 فارسی