Aspose.Note FOSS cho Python là một thư viện 100% miễn phí, được cấp phép MIT, cho phép bạn đọc các tệp Microsoft OneNote (.one) hoàn toàn từ Python, mà không cần Microsoft Office, không cần tự động hoá COM, và không yêu cầu runtime sở hữu. Nó cung cấp một API công cộng sạch sẽ (aspose.note.*) được mô hình hoá dựa trên Aspose.Note quen thuộc cho giao diện .NET, được hỗ trợ bởi một bộ phân tích nhị phân MS-ONE/OneStore tích hợp viết bằng Python thuần túy.
Cài đặt từ PyPI bằng pip install aspose-note (hoặc pip install "aspose-note[pdf]" để bật xuất PDF). Yêu cầu Python 3.10 trở lên.
Thư viện phù hợp cho các script tự động hoá tài liệu, pipeline lập chỉ mục nội dung, công cụ lưu trữ, và bất kỳ quy trình làm việc phía máy chủ nào cần tiêu thụ nội dung OneNote mà không phụ thuộc vào Microsoft Office.
Document.Document → Page → Outline → OutlineElement → RichText / Image / Table / AttachedFile.RichText.Text hoặc kiểm tra các đoạn TextRun để biết định dạng in đậm, in nghiêng, phông chữ, màu sắc và siêu dữ liệu liên kết.Table → TableRow → TableCell kèm độ rộng cột và hiển thị viền.NoteTag (hình dạng, nhãn, màu sắc, trạng thái hoàn thành) trên các nút văn bản, hình ảnh và bảng..one.Document nào đã tải lên thành PDF bằng cách sử dụng Document.Save(path, SaveFormat.Pdf).PdfSaveOptions.Image để lấy dữ liệu thô, tên tệp, kích thước và văn bản thay thế.AttachedFile để lưu các tệp đính kèm nhúng vào đĩa..one từ luồng nhị phân (ví dụ, io.BytesIO) mà không ghi ra đĩa.Aspose.Note FOSS cài đặt bằng một lệnh pip install aspose-note duy nhất. Gói cơ bản không có phụ thuộc tùy chọn; xuất PDF yêu cầu ReportLab, được cài đặt qua pip install "aspose-note[pdf]".
API được mô hình hoá dựa trên Aspose.Note quen thuộc cho giao diện .NET: Document, Page, Outline, RichText, Image, Table, AttachedFile. Thư viện có giấy phép MIT, mã nguồn mở, và chấp nhận báo cáo lỗi cũng như đóng góp trên GitHub.
Cài đặt bằng pip, sau đó truyền đường dẫn tệp vào Document() để phân tích định dạng nhị phân của OneNote. GetChildNodes(RichText) thực hiện tìm kiếm đệ quy sâu và trả về mọi nút văn bản trong tài liệu, hữu ích cho việc lập chỉ mục toàn văn hoặc các pipeline di chuyển.
pip install aspose-note
from aspose.note import Document, RichText
doc = Document("notebook.one")
print(f"Pages: {len(list(doc))}")
# Trích xuất toàn bộ văn bản trên toàn tài liệu
texts = [rt.Text for rt in doc.GetChildNodes(RichText) if rt.Text]
for text in texts:
print(text)
Việc xuất PDF yêu cầu phụ thuộc tùy chọn ReportLab. Cài đặt nó bằng lệnh pip install "aspose-note[pdf]". Cùng một đối tượng Document cũng có thể được lặp lại để lấy các nút Image và trích xuất, lưu tất cả các hình ảnh nhúng vào đĩa trong một lần thực thi.
from aspose.note import Document, SaveFormat, Image
import pathlib
doc = Document("notebook.one")
# Xuất tài liệu sang PDF (cần aspose-note[pdf])
doc.Save("output.pdf", SaveFormat.Pdf)
# Lưu tất cả các hình ảnh được nhúng vào đĩa
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)
Đây là thư viện Python miễn phí, có giấy phép MIT, dùng để đọc các tệp Microsoft OneNote (.one) mà không cần Microsoft Office, tự động hoá COM, hay bất kỳ môi trường chạy độc quyền nào.
Các biến thể định dạng OneNote 2010, OneNote Online và OneNote 2007. Bất kỳ tệp phần .one hợp lệ nào cũng có thể được tải.
Chạy pip install aspose-note để cài đặt thư viện cơ bản, hoặc pip install "aspose-note[pdf]" để bao gồm phụ thuộc tùy chọn ReportLab cho việc xuất PDF.
Có. Gọi Document.Save(path, SaveFormat.Pdf). Việc xuất PDF yêu cầu phụ thuộc tùy chọn ReportLab được cài đặt qua phần mở rộng [pdf].
Có. Lớp Document chấp nhận một luồng nhị phân (ví dụ, io.BytesIO hoặc phần thân phản hồi HTTP) để bạn có thể xử lý các tệp mà không cần ghi ra đĩa.
Python 3.10 trở lên là bắt buộc.
Không. Bản hiện tại chỉ đọc. Nó có thể mở và phân tích bất kỳ tệp .one section hợp lệ nào, nhưng việc ghi lại vào định dạng nhị phân OneNote không được hỗ trợ.
Không. Việc tải tệp .one được bảo vệ bằng mật khẩu sẽ gây ra một IncorrectPasswordException. Các tài liệu được mã hóa không được hỗ trợ trong bản hiện tại.
Thư viện được cấp phép MIT và được lưu trữ trên GitHub. Các báo cáo lỗi và pull requests đều được chào đón.