1. Sản Phẩm
  2.   Aspose.Note
  3.   Aspose.Note FOSS for Python

Aspose.Note FOSS cho Python

Đọc, duyệt và xuất các tệp Microsoft OneNote (.one) từ Python — miễn phí và mã nguồn mở, không cần Microsoft Office.

Thư viện Python mã nguồn mở cho các tệp OneNote

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.

Đọc và duyệt tài liệu OneNote

  • Tải tệp .one: Mở bất kỳ phần OneNote nào từ đường dẫn tệp hoặc luồng nhị phân qua Document.
  • Duyệt DOM đầy đủ: Điều hướng Document → Page → Outline → OutlineElement → RichText / Image / Table / AttachedFile.
  • Trích xuất văn bản phong phú: Đọc văn bản thô qua 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.
  • Phân tích bảng: Duyệt các cấu trúc Table → TableRow → TableCell kèm độ rộng cột và hiển thị viền.
  • Kiểm tra thẻ: Đọc siêu dữ liệu 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.

Nơi Aspose.Note FOSS có thể được sử dụng

  • Content indexing: Trích xuất và lập chỉ mục toàn bộ văn bản từ các kho lưu trữ OneNote cho các quy trình tìm kiếm.
  • Document migration: Chuyển đổi các phần OneNote sang PDF, văn bản thuần hoặc dữ liệu có cấu trúc.
  • Archival tools: Lưu các hình ảnh và tệp đính kèm nhúng vào đĩa từ các tệp .one.
  • CI/CD workflows: Xác thực hoặc xử lý nội dung OneNote trong các container Docker.
  • Knowledge-base pipelines: Trích xuất nội dung có cấu trúc từ sổ tay OneNote của nhóm.

Xuất, Hình ảnh và Tệp đính kèm

  • PDF export: Lưu bất kỳ Document nào đã tải lên thành PDF bằng cách sử dụng Document.Save(path, SaveFormat.Pdf).
  • PDF options: Tùy chỉnh phạm vi trang, thư mục biểu tượng thẻ, kích thước biểu tượng và khoảng cách thông qua PdfSaveOptions.
  • Image export: Duyệt các nút Image để lấy dữ liệu thô, tên tệp, kích thước và văn bản thay thế.
  • Attachment saving: Duyệt các nút AttachedFile để lưu các tệp đính kèm nhúng vào đĩa.
  • Stream-based loading: Mở các tệp .one từ luồng nhị phân (ví dụ, io.BytesIO) mà không ghi ra đĩa.

Trải nghiệm nhà phát triển

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.

Tải tệp OneNote và trích xuất toàn bộ văn bản

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)

Xuất ra PDF và lưu các hình ảnh đính kèm

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)

Câu Hỏi Thường Gặp

FOSS Aspose.Note cho Python là gì?

Đâ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 nào được hỗ trợ?

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.

Làm thế nào để cài đặt nó?

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.

Tôi có thể xuất các tệp OneNote sang PDF không?

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].

Tôi có thể tải các tệp .one từ luồng dữ liệu không?

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.

Phiên bản Python nào được yêu cầu?

Python 3.10 trở lên là bắt buộc.

Tôi có thể ghi hoặc sửa đổi tệp .one không?

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ợ.

Các tài liệu OneNote được mã hóa có được hỗ trợ không?

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.

Tôi có thể tìm mã nguồn ở đâu?

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.

  

Tài Nguyên Hỗ Trợ và Học Tập

 Tiếng Việt