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

Aspose.Note FOSS for 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 for Python adalah perpustakaan 100% percuma, berlesen MIT yang membolehkan anda membaca fail Microsoft OneNote (.one) sepenuhnya dari Python, tanpa Microsoft Office, tiada automasi COM, dan tidak memerlukan masa jalan proprietari. Ia mendedahkan API awam bersih (aspose.note.*) yang dimodelkan pada antara muka Aspose.Note untuk .NET, disokong oleh pemindai binari MS-ONE / OneStore terbina dalam yang ditulis dengan 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, saluran pengindeksan kandungan, alat arkib dan apa-apa alur kerja di sisi pelayan yang perlu menggunakan kandungan OneNote tanpa ketergantungan Microsoft Office. Untuk keluarga produk perusahaan, lihat Aspose.Note — Enterprise Product Family.

Membaca dan mengelilingi dokumen OneNote

  • ** Load .one files:** Buka mana-mana bahagian OneNote dari laluan fail atau aliran binari melalui Document.
  • ** Perjalanan DOM penuh:** Arahkan Document → Page → Outline → OutlineElement → RichText / Image / Table / AttachedFile.
  • ** Pengekstrakan teks kaya:** Baca teks mentah melalui RichText.Text atau periksa segmen TextRun untuk metadata tebal, kurikulum, fon, warna, dan pautan hiper.
  • Penguraian jadual: Melalui hierarki Table → TableRow → TableCell; membaca lebar lajur melalui TableColumn.Width.
  • ** Pemeriksaan tag:** Baca NoteTag metadata (bentuk, label, warna, keadaan penyelesaian) pada teks, imej dan nod jadual.

Di mana Aspose.Note FOSS boleh digunakan

  • Pengindeksan kandungan: Mengeluarkan dan mengindeks semua teks dari arkib OneNote untuk paip carian.
  • Pemindahan dokumen: Ekspor bahagian OneNote ke PDF, teks biasa, atau data berstruktur.
  • ** Alat arkib:** Simpan imej dan lampiran tertanam ke cakera dari fail .one.
  • Lelek kerja CI/CD: Memvalid atau memproses kandungan OneNote di dalam bekas Docker.
  • Pipelines pangkalan pengetahuan: Mengekstrak kandungan berstruktur dari buku nota OneNote pasukan.

Eksport, Imej dan Lampiran

  • PDF eksport: Simpan sebarang dimuat Document ke PDF menggunakan Document.Save(path, SaveFormat.Pdf). Edisi FOSS menggunakan penyerahan lalai; pilihan PDF lanjutan per halaman tidak tersedia dalam versi ini.
  • Image export: Iterate Image nod untuk mendapatkan byte mentah (Bytes), nama fail ( FileName) dan dimensi ( OriginalWidth, OriginalHeight).
  • ** Menyimpan lampiran:** Iterate AttachedFile nod untuk menyimpan lampuran fail tertanam ke cakera.
  • ** Pemuatan berasaskan aliran:** Buka fail .one dari aliran binari (contohnya, io.BytesIO) tanpa menulis ke cakera.

Pengalaman pemaju

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 dimodelkan berdasarkan Aspose.Note yang biasa untuk antara muka .NET: Document, Page, Outline, RichText, Image, Table, AttachedFile. Pustaka ini berlesen MIT, sumber terbuka, dan menerima laporan pepijat serta sumbangan di GitHub.

Mengisi fail OneNote dan mengekstrak semua teks

Pasang dengan pip, kemudian sampaikan laluan fail ke Document() untuk mengkaji format binari OneNote. GetChildNodes(RichText) melakukan carian rekursiv mendalam dan mengembalikan setiap nod teks dalam dokumen, yang berguna untuk penindeks teks penuh atau paip pemindahan.

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 Imej yang Ditambah

Ekspor PDF memerlukan kebergantungan ReportLab pilihan. Pasang dengan pip install "aspose-note[pdf]". Objek yang sama Document juga boleh diulang untuk nod Image untuk mengekstrak dan menyimpan semua imej tertanam 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 berlesen MIT percuma untuk membaca fail Microsoft OneNote (.one) tanpa memerlukan Microsoft Office, automasi COM, atau runtime milik.

Versi format OneNote mana yang disokong?

OneNote 2010, OneNOte Online, dan varian format OneNot 2007. Mana-mana fail seksyen .one yang sah boleh dimuat.

Bagaimana saya memasang?

Jalankan pip install aspose-note untuk perpustakaan asas, atau pip install "aspose-note[pdf]" bagi memasukkan bergantung ReportLab pilihan untuk eksport PDF.

Bolehkah saya mengeksport fail OneNote ke PDF?

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

Bolehkah saya memuat naik fail .one dari aliran?

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

Versi Python mana yang diperlukan?

Python 3.10 atau lebih baru diperlukan.

Bolehkah saya menulis atau mengubah suai fail .one?

Tidak. Edisi semasa hanya dibaca. Ia boleh membuka dan mengkaji mana-mana fail seksyen .one yang sah, tetapi menulis kembali ke format binari OneNote tidak disokong.

Adakah dokumen OneNote yang disulitkan disokong?

Tidak. Mengunggah fail yang dilindungi kata laluan .one menimbulkan sebuah IncorrectPasswordException. Dokumen terenkripsi tidak disokong dalam edisi semasa.

Di mana saya boleh mencari kod sumber?

Perpustakaan ini dilisensikan oleh MIT dan dihoskan di GitHub. Laporan bug dan permintaan menarik adalah selamat datang.

  

Sokongan dan Sumber Pembelajaran

 Bahasa Melayu