Aspose.Note FOSS for Python Is Now Available

เรามีความยินดีที่จะแจ้งให้ทราบว่ามีการเปิดให้ใช้งานของ Aspose.Note FOSS for Python บน PyPI. ไลบรารีฟรีและโอเพนซอร์สนี้ทำให้ผู้พัฒนา Python สามารถอ่าน Microsoft OneNote .one ไฟล์ส่วน, เดินทางผ่านโมเดลวัตถุเอกสารเต็มรูปแบบ, ดึงเนื้อหา, และส่งออกเป็น PDF โดยไม่ต้องการ Microsoft Office หรือรันไทม์ที่เป็นกรรมสิทธิ์ใด ๆ.

ติดตั้งเลย:

pip install aspose-note

สำหรับการส่งออกเป็น PDF:

pip install "aspose-note[pdf]"

อะไรคือ Aspose.Note FOSS สำหรับ Python?

Aspose.Note FOSS for Python is a 100% free, MIT-licensed Python library that provides an Aspose.Note-shaped public API (aspose.note.*) สำหรับการอ่าน Microsoft OneNote .one ไฟล์. มันได้รับการสนับสนุนโดยตัวแยกวิเคราะห์ไบนารี MS-ONE/OneStore แบบ pure-Python ที่สร้างมาในตัว, ไม่มีการทำงานร่วมกับ COM, ไม่มี DLL ที่เป็นเนทีฟของแพลตฟอร์ม, และไม่ต้องติดตั้ง Microsoft Office.

ส่วนผิวของ API ถูกออกแบบตาม Aspose.Note for .NET, ทำให้การเปลี่ยนแปลงคุ้นเคยสำหรับทีมที่ใช้ผลิตภัณฑ์ Aspose อยู่แล้วบนแพลตฟอร์มอื่น.


ความสามารถหลัก

อ่านไฟล์ .one ใด ๆ

โหลดไฟล์ส่วนของ OneNote 2010, OneNote Online, และ OneNote 2007 จากเส้นทางไฟล์หรือสตรีมไบนารีใด ๆ:

from aspose.note import Document

doc = Document("MyNotes.one")
print(doc.DisplayName)   # Section name
print(len(list(doc)))       # Number of pages

สำรวจ DOM ของเอกสารทั้งหมด

ไลบรารีนี้เปิดเผยโมเดลวัตถุเอกสารที่สมบูรณ์: Document → Page → Outline → OutlineElement → RichText / Image / Table / AttachedFile. ใช้ GetChildNodes(Type) สำหรับการค้นหาแบบเรียกซ้ำและกรองตามประเภท:

from aspose.note import Document, RichText

doc = Document("MyNotes.one")
all_text = [rt.Text for rt in doc.GetChildNodes(RichText) if rt.Text]

ดึงข้อความพร้อมการจัดรูปแบบที่หลากหลาย

ทุก RichText โหนดมีรายการของ TextRun ส่วน. แต่ละรันบรรจุข้อมูลต่ออักขระ TextStyle เมตาดาต้า: ตัวหนา, ตัวเอียง, ขีดเส้นใต้, ชื่อฟอนต์, สีฟอนต์, ที่อยู่ไฮเปอร์ลิงก์, และอื่น ๆ:

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:
            print(f"  Link: {run.Text} -> {run.Style.HyperlinkAddress}")
        elif run.Style.IsBold:
            print(f"  Bold: {run.Text}")

บันทึกรูปภาพและไฟล์แนบ

ดึงรูปภาพที่ฝังอยู่เป็นไบต์ดิบพร้อมชื่อไฟล์และขนาด. บันทึกไฟล์ที่แนบลงดิสก์:

from aspose.note import Document, Image, AttachedFile

doc = Document("MyNotes.one")
for img in doc.GetChildNodes(Image):
    with open(img.FileName or "image.bin", "wb") as f:
        f.write(img.Bytes)

for af in doc.GetChildNodes(AttachedFile):
    with open(af.FileName or "attachment.bin", "wb") as f:
        f.write(af.Bytes)

แยกวิเคราะห์ตาราง

เดินผ่าน Table → TableRow → TableCell ลำดับชั้นและอ่านเนื้อหาเซลล์:

from aspose.note import Document, Table, TableRow, TableCell, RichText

doc = Document("MyNotes.one")
for table in doc.GetChildNodes(Table):
    for row in table.GetChildNodes(TableRow):
        cells = [
            " ".join(rt.Text for rt in cell.GetChildNodes(RichText))
            for cell in row.GetChildNodes(TableCell)
        ]
        print(cells)

ส่งออกเป็น PDF

บันทึกเอกสารที่โหลดไว้ใด ๆ เป็น PDF โดยใช้แบ็กเอนด์ ReportLab ทางเลือก กำหนดช่วงหน้าและการเรนเดอร์ไอคอนแท็กด้วย PdfSaveOptions:

from aspose.note import Document, SaveFormat

doc = Document("MyNotes.one")
doc.Save("output.pdf", SaveFormat.Pdf)

ประเภทเนื้อหาที่รองรับ

เนื้อหารองรับ
หน้าและชื่อหน้าใช่
ข้อความธรรมดา (RichText.Text)ใช่
ข้อความที่จัดรูปแบบ (หนา, เอียง, ขีดเส้นใต้, แบบอักษร, สี)ใช่
ไฮเปอร์ลิงก์ในข้อความใช่
ภาพฝัง (ไบต์, ชื่อไฟล์, มิติ)ใช่
ไฟล์แนบ (ไบต์, ชื่อไฟล์)ใช่
ตาราง (แถว, เซลล์, ความกว้างคอลัมน์)ใช่
แท็ก OneNote (NoteTag: รูปร่าง, ป้าย, สี)ใช่
รายการลำดับเลขและหัวข้อย่อย (NumberList)ใช่
เมตาดาต้าของหน้า (ผู้เขียน, เวลาสร้าง, ระดับ)ใช่
การส่งออก PDFใช่ (ต้องใช้ ReportLab)
เขียนกลับไปยัง .oneไม่รองรับ
เอกสารที่เข้ารหัสไม่รองรับ

API ที่คุ้นเคยสำหรับนักพัฒนา .NET

ทีมที่ใช้ Aspose อยู่แล้ว หมายเหตุสำหรับ .NET จะพบว่า API ของ Python นั้นคุ้นเคยทันที คลาสหลักเช่น Document, Page, RichText, Image, DocumentVisitor, และ SaveFormat ตรงกับ .NET ที่เทียบเท่าในชื่อและพฤติกรรม.

สำหรับสถานการณ์ที่ต้องการการสนับสนุนการเขียนเต็มรูปแบบ, การแปลงเป็นรูปแบบเพิ่มเติม, หรือการจัดการเอกสารที่เข้ารหัส, เวอร์ชันเชิงพาณิชย์ Aspose.Note for .NET และ Aspose.Note for Java ผลิตภัณฑ์พร้อมให้บริการ.


สรุปการติดตั้ง

คำสั่งวัตถุประสงค์
pip install aspose-noteไลบรารีหลัก (การอ่าน, การเดินทาง, การเข้าถึง DOM)
pip install "aspose-note[pdf]"หลัก + การส่งออก PDF (เพิ่ม ReportLab)
pip install -e ".[pdf]"การติดตั้งที่แก้ไขได้จากซอร์ส (ผู้ร่วมพัฒนา)

ข้อกำหนด: Python 3.10, 3.11, หรือ 3.12. ไม่จำเป็นต้องใช้ Microsoft Office.


เริ่มต้นใช้งาน