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

Aspose.Note FOSS untuk Python

Baca, telusuri, dan ekspor file Microsoft OneNote (.one) dari Python — gratis dan sumber terbuka, tidak memerlukan Microsoft Office.

Perpustakaan Python Open-Source untuk File OneNote

Aspose.Note FOSS untuk Python adalah perpustakaan 100% gratis, berlisensi MIT yang memungkinkan Anda membaca file Microsoft OneNote (.one) sepenuhnya dari Python, tanpa Microsoft Office, tanpa otomasi COM, dan tanpa runtime proprietari yang diperlukan. Ia menyediakan API publik yang bersih (aspose.note.*) yang dimodelkan pada antarmuka Aspose.Note yang familiar untuk .NET, didukung oleh parser biner MS-ONE/OneStore bawaan yang ditulis dalam Python murni.

Instal dari PyPI dengan pip install aspose-note (atau pip install "aspose-note[pdf]" untuk mengaktifkan ekspor PDF). Membutuhkan Python 3.10 atau lebih baru.

Perpustakaan ini cocok untuk skrip otomatisasi dokumen, pipeline pengindeksan konten, alat arsip, dan alur kerja sisi server apa pun yang perlu mengonsumsi konten OneNote tanpa ketergantungan Microsoft Office. Untuk keluarga produk enterprise, lihat Aspose.Note — Enterprise Product Family.

Baca dan Telusuri Dokumen OneNote

  • Load .one files: Buka bagian OneNote apa pun dari jalur file atau aliran biner melalui Document.
  • Full DOM traversal: Navigasi Document → Page → Outline → OutlineElement → RichText / Image / Table / AttachedFile.
  • Ekstraksi teks kaya: Baca teks mentah melalui RichText.Text atau periksa segmen TextRun untuk metadata tebal, miring, font, warna, dan hyperlink.
  • Table parsing: Telusuri hierarki Table → TableRow → TableCell; baca lebar kolom melalui TableColumn.Width.
  • Tag inspection: Baca metadata NoteTag (bentuk, label, warna, status penyelesaian) pada node teks, gambar, dan tabel.

Di mana Aspose.Note FOSS dapat digunakan

  • Content indexing: Ekstrak dan indeks semua teks dari arsip OneNote untuk pipeline pencarian.
  • Migrasi dokumen: Ekspor bagian OneNote ke PDF, teks biasa, atau data terstruktur.
  • Alat arsip: Simpan gambar tersemat dan lampiran ke disk dari file .one files.
  • CI/CD workflows: Validasi atau proses konten OneNote di dalam kontainer Docker.
  • Knowledge-base pipelines: Ekstrak konten terstruktur dari notebook OneNote tim.

Ekspor, Gambar, dan Lampiran

  • PDF export: Simpan Document yang dimuat ke PDF menggunakan Document.Save(path, SaveFormat.Pdf). Edisi FOSS menggunakan rendering default; opsi PDF per halaman yang canggih tidak tersedia dalam rilis ini.
  • Ekspor gambar: Iterasi node Image untuk mengambil byte mentah (Bytes), nama file (FileName), dan dimensi (OriginalWidth, OriginalHeight).
  • Penyimpanan lampiran: Iterasi AttachedFile nodes untuk menyimpan lampiran file tersemat ke disk.
  • Pemuat berbasis aliran: Buka file .one dari aliran biner (mis., io.BytesIO) tanpa menulis ke disk.

Pengalaman Pengembang

Aspose.Note FOSS menginstal dengan satu perintah pip install aspose-note. Paket dasar tidak memiliki dependensi opsional; ekspor PDF memerlukan ReportLab, diinstal melalui pip install "aspose-note[pdf]".

API dimodelkan pada antarmuka Aspose.Note yang familiar untuk .NET: Document, Page, Outline, RichText, Image, Table, AttachedFile. Perpustakaan ini berlisensi MIT, sumber terbuka, dan menerima laporan bug serta kontribusi di GitHub.

Muat file OneNote dan ekstrak semua teks

Instal dengan pip, lalu berikan jalur file ke Document() untuk mengurai format biner OneNote. GetChildNodes(RichText) melakukan pencarian rekursif mendalam dan mengembalikan setiap node teks dalam dokumen, yang berguna untuk pengindeksan teks penuh atau pipeline 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)

Ekspor ke PDF dan Simpan Gambar Terlampir

Ekspor PDF memerlukan dependensi opsional ReportLab. Instal dengan pip install "aspose-note[pdf]". Objek Document yang sama juga dapat diiterasi untuk node Image guna mengekstrak dan menyimpan semua gambar yang disematkan ke disk dalam satu kali proses.

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)

Pertanyaan yang Sering Diajukan

Apa Aspose.Note FOSS untuk Python?

Ini adalah perpustakaan Python gratis berlisensi MIT untuk membaca file Microsoft OneNote (.one) tanpa memerlukan Microsoft Office, otomatisasi COM, atau runtime proprietari apa pun.

Varian format OneNote mana yang didukung?

OneNote 2010, OneNote Online, dan varian format OneNote 2007. File bagian .one yang valid dapat dimuat.

Bagaimana cara menginstalnya?

Jalankan pip install aspose-note untuk perpustakaan dasar, atau pip install "aspose-note[pdf]" untuk menyertakan ketergantungan ReportLab opsional untuk ekspor PDF.

Bisakah saya mengekspor file OneNote ke PDF?

Ya. Panggil Document.Save(path, SaveFormat.Pdf). Ekspor PDF memerlukan ketergantungan ReportLab opsional yang diinstal melalui ekstra [pdf].

Bisakah saya memuat file .one dari stream?

Ya. Kelas Document menerima aliran biner (misalnya, io.BytesIO atau badan respons HTTP) sehingga Anda dapat memproses file tanpa menulis ke disk.

Versi Python apa yang diperlukan?

Python 3.10 atau yang lebih baru diperlukan.

Bisakah saya menulis atau memodifikasi file .one?

Tidak. Edisi saat ini bersifat hanya-baca. Ia dapat membuka dan mengurai file bagian .one yang valid, tetapi menulis kembali ke format biner OneNote tidak didukung.

Apakah dokumen OneNote yang terenkripsi didukung?

Tidak. Memuat file .one yang dilindungi kata sandi akan memunculkan IncorrectPasswordException. Dokumen terenkripsi tidak didukung dalam edisi saat ini.

Di mana saya dapat menemukan kode sumber?

Perpustakaan ini berlisensi MIT dan dihosting di GitHub. Laporan bug dan permintaan tarik (pull request) dipersilakan.

  

Sumber Daya Dukungan dan Pembelajaran

 Bahasa Indonesia