1. Produk
  2.   Aspose.Note
  3.   Aspose.Note FOSS for Python

Aspose.Note FOSS untuk Python

Baca, lalui, dan eksport fail Microsoft OneNote (.one) dari Python — percuma dan sumber terbuka, tidak memerlukan Microsoft Office.

Perpustakaan Python Sumber Terbuka untuk Fail OneNote

Aspose.Note FOSS untuk Python ialah perpustakaan 100% percuma, berlesen MIT yang membolehkan anda membaca fail Microsoft OneNote (.one) sepenuhnya dari Python, tanpa Microsoft Office, tanpa automasi COM, dan tanpa runtime proprietari diperlukan. Ia memaparkan API awam yang bersih (aspose.note.*) yang dimodelkan pada antara muka Aspose.Note yang biasa untuk .NET, disokong oleh parser binari MS-ONE/OneStore terbina dalam yang ditulis dalam Python tulen.

Pasang dari PyPI dengan pip install aspose-note (atau pip install "aspose-note[pdf]" untuk membolehkan eksport PDF). Memerlukan Python 3.10 atau lebih baru.

Perpustakaan ini sesuai untuk skrip automasi dokumen, paip indeks kandungan, alat arkib, dan mana-mana aliran kerja sisi pelayan yang perlu menggunakan kandungan OneNote tanpa kebergantungan Microsoft Office. Untuk keluarga produk perusahaan, lihat Aspose.Note — Enterprise Product Family.

Baca dan Lalui Dokumen OneNote

  • Muat fail .one: Buka mana-mana bahagian OneNote daripada laluan fail atau aliran binari melalui Document.
  • Penjelajahan DOM Penuh: Navigasi Document → Page → Outline → OutlineElement → RichText / Image / Table / AttachedFile
  • Pengekstrakan teks kaya: Baca teks mentah melalui RichText.Text atau periksa segmen TextRun untuk metadata tebal, condong, fon, warna, dan pautan hiperteks.
  • Penguraian jadual: Lalui hierarki Table → TableRow → TableCell; baca lebar lajur melalui TableColumn.Width.
  • Tag inspection: Baca metadata NoteTag (bentuk, label, warna, keadaan selesai) pada nod teks, imej, dan jadual.

Di mana Aspose.Note FOSS Boleh Digunakan

  • Content indexing: Ekstrak dan indeks semua teks dari arkib OneNote untuk saluran carian.
  • Migrasi dokumen: Eksport bahagian OneNote ke PDF, teks biasa, atau data berstruktur.
  • Alat arkib: Simpan imej terbenam dan lampiran ke cakera dari fail .one .
  • CI/CD workflows: Sahkan atau proses kandungan OneNote di dalam kontena Docker.
  • Saluran pangkalan pengetahuan: Ekstrak kandungan berstruktur daripada buku nota OneNote pasukan.

Eksport, Imej, dan Lampiran

  • PDF export: Simpan mana-mana Document yang dimuatkan ke PDF menggunakan Document.Save(path, SaveFormat.Pdf). Edisi FOSS menggunakan rendering lalai; pilihan PDF per halaman yang lanjutan tidak tersedia dalam keluaran ini.
  • Eksport imej: Ulangi nod Image untuk mendapatkan bait mentah (Bytes), nama fail (FileName), dan dimensi (OriginalWidth, OriginalHeight).
  • Penyimpanan lampiran: Iterasi AttachedFile nod untuk menyimpan lampiran fail terbenam ke cakera.
  • Pemuatkan berasaskan aliran: Buka fail .one dari aliran binari (contohnya, io.BytesIO) tanpa menulis ke cakera.

Pengalaman Pembangun

Aspose.Note FOSS dipasang dengan satu arahan pip install aspose-note. Pakej asas tidak mempunyai kebergantungan pilihan; eksport PDF memerlukan ReportLab, dipasang melalui pip install "aspose-note[pdf]".

API ini direka berdasarkan antara muka Aspose.Note yang biasa untuk .NET: Document, Page, Outline, RichText, Image, Table, AttachedFile. Perpustakaan ini berlesen MIT, sumber terbuka, dan menerima laporan pepijat serta sumbangan di GitHub.

Muat Fail OneNote dan Ekstrak Semua Teks

Pasang dengan pip, kemudian berikan laluan fail kepada Document() untuk mengurai format binari OneNote. GetChildNodes(RichText) melakukan pencarian rekursif mendalam dan mengembalikan setiap nod teks dalam dokumen, yang berguna untuk pengindeksan teks penuh atau saluran migrasi.

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)

Eksport ke PDF dan Simpan Imej yang Dilampirkan

Eksport PDF memerlukan kebergantungan pilihan ReportLab. Pasang ia dengan pip install "aspose-note[pdf]". Objek Document yang sama juga boleh diulang untuk nod Image untuk mengekstrak dan menyimpan semua imej terbenam ke cakera dalam satu laluan.

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)

Soalan Lazim

Apakah Aspose.Note FOSS untuk Python?

Ia adalah perpustakaan Python percuma, berlesen MIT untuk membaca fail Microsoft OneNote (.one) tanpa memerlukan Microsoft Office, automasi COM, atau sebarang runtime proprietari.

Varian format OneNote yang disokong?

OneNote 2010, OneNote Online, dan varian format OneNote 2007. Mana-mana fail bahagian .one yang sah boleh dimuatkan.

Bagaimana saya memasangnya?

Jalankan pip install aspose-note untuk perpustakaan asas, atau pip install "aspose-note[pdf]" untuk menyertakan kebergantungan ReportLab pilihan bagi pengeksportan PDF.

Bolehkah saya mengeksport fail OneNote ke PDF?

Ya. Panggil Document.Save(path, SaveFormat.Pdf). Pengeksportan PDF memerlukan kebergantungan ReportLab pilihan yang dipasang melalui tambahan [pdf].

Bolehkah saya memuatkan fail .one daripada aliran?

Ya. Kelas Document menerima aliran binari (contohnya, io.BytesIO atau badan respons HTTP) supaya anda boleh memproses fail tanpa menulis ke cakera.

Versi Python yang diperlukan?

Python 3.10 atau lebih baru diperlukan.

Bolehkah saya menulis atau mengubah suai fail .one?

Tidak. Edisi semasa bersifat baca-sahaja. Ia boleh membuka dan menghurai mana-mana fail bahagian .one yang sah, tetapi menulis kembali ke format binari OneNote tidak disokong.

Adakah dokumen OneNote yang disulitkan disokong?

Tidak. Memuatkan fail .one yang dilindungi kata laluan akan memunculkan IncorrectPasswordException. Dokumen yang dienkripsi tidak disokong dalam edisi semasa.

Di mana saya boleh menemui kod sumber?

Perpustakaan ini berlesen MIT dan dihoskan di GitHub. Laporan pepijat serta permintaan tarik (pull request) dialu-alukan.

  

Sokongan dan Sumber Pembelajaran

 Bahasa Melayu