Aspose.Note FOSS สำหรับ Python เป็นไลบรารีที่ฟรี 100% ใบอนุญาต MIT ซึ่งให้คุณอ่านไฟล์ Microsoft OneNote (.one) ทั้งหมดจาก Python โดยไม่ต้องใช้ Microsoft Office, ไม่ต้องใช้ COM automation, และไม่ต้องการ runtime ที่เป็นกรรมสิทธิ์ใดๆ มันเปิดเผย 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.
DocumentDocument → Page → Outline → OutlineElement → RichText / Image / Table / AttachedFileRichText.Text หรือ inspect TextRun segments สำหรับตัวหนา, ตัวเอียง, ฟอนต์, สี, และเมตาดาต้าลิงก์ไฮเปอร์.Table → TableRow → TableCell; อ่านความกว้างของคอลัมน์ผ่าน TableColumn.Width.NoteTag (shape, label, color, completion state) บนโหนดข้อความ, รูปภาพ, และตาราง.one files.Document ที่โหลดใด ๆ เป็น PDF โดยใช้ Document.Save(path, SaveFormat.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.
ติดตั้งด้วย 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 ต้องการการพึ่งพา 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)
นี่คือไลบรารี Python ฟรีที่ได้รับใบอนุญาต MIT สำหรับอ่านไฟล์ Microsoft OneNote (.one) โดยไม่ต้องใช้ Microsoft Office, COM automation หรือ runtime ใด ๆ ที่เป็นกรรมสิทธิ์.
OneNote 2010, OneNote Online, และรูปแบบของ OneNote 2007. ไฟล์ส่วน .one ใด ๆ ที่ถูกต้องสามารถโหลดได้.
เรียกใช้ pip install aspose-note สำหรับไลบรารีพื้นฐาน หรือ pip install "aspose-note[pdf]" เพื่อรวมการพึ่งพา ReportLab ทางเลือกสำหรับการส่งออกเป็น PDF.
ใช่. เรียก Document.Save(path, SaveFormat.Pdf). การส่งออกเป็น PDF ต้องการการพึ่งพา ReportLab ทางเลือกที่ติดตั้งผ่านส่วนเสริม [pdf].
ใช่. คลาส Document รับสตรีมไบนารี (เช่น io.BytesIO หรือเนื้อหาการตอบกลับ HTTP) เพื่อให้คุณสามารถประมวลผลไฟล์โดยไม่ต้องเขียนลงดิสก์.
ต้องการ Python 3.10 หรือใหม่กว่า.
ไม่. รุ่นปัจจุบันเป็นแบบอ่านอย่างเดียว สามารถเปิดและวิเคราะห์ไฟล์ส่วน .one ใด ๆ ที่ถูกต้องได้ แต่การเขียนกลับไปยังรูปแบบไบนารีของ OneNote ไม่ได้รับการสนับสนุน.
ไม่. การโหลดไฟล์ .one ที่ป้องกันด้วยรหัสผ่านจะทำให้เกิด IncorrectPasswordException. เอกสารที่เข้ารหัสไม่ได้รับการสนับสนุนในรุ่นปัจจุบัน.
ไลบรารีนี้ใช้สัญญาอนุญาต MIT และโฮสต์บน GitHub ยินดีรับรายงานบั๊กและคำขอดึง (pull request).