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 miễn phí 100%, có giấy 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ó 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 giao diện Aspose.Note quen thuộc cho .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, các 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. Đối với dòng sản phẩm doanh nghiệp, xem Aspose.Note — Enterprise Product Family.

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

  • Load .one files: 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 toàn bộ DOM: Điều hướng Document → Page → Outline → OutlineElement → RichText / Image / Table / AttachedFile.
  • Trích xuất văn bản định dạng phong phú: Đọc văn bản thô qua RichText.Text hoặc kiểm tra các đoạn TextRun để lấy siêu dữ liệu in đậm, in nghiêng, phông chữ, màu sắc và siêu liên kết.
  • Phân tích bảng: Duyệt các phân cấp Table → TableRow → TableCell; đọc độ rộng cột qua TableColumn.Width.
  • Tag inspection: Đọc siêu dữ liệu NoteTag (shape, label, color, completion state) 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 tất cả văn bản từ các tệp lưu trữ OneNote cho các pipeline tìm kiếm.
  • Di chuyển tài liệu: Xuất các phần của OneNote sang PDF, văn bản thuần, hoặc dữ liệu có cấu trúc.
  • Công cụ lưu trữ: 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 bên 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). Phiên bản FOSS sử dụng việc render mặc định; các tùy chọn PDF nâng cao cho từng trang không khả dụng trong bản phát hành này.
  • Image export: Lặp lại các nút Image để lấy byte thô (Bytes), tên tệp (FileName), và kích thước (OriginalWidth, OriginalHeight).
  • Lưu tệp đính kèm: Duyệt các nút AttachedFile để lưu các tệp đính kèm nhúng vào đĩa.
  • Tải dựa trên luồng: Mở các tệp .one từ một luồng nhị phân (ví dụ, io.BytesIO) mà không ghi vào đĩ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 giao diện Aspose.Note quen thuộc cho .NET: Document, Page, Outline, RichText, Image, Table, AttachedFile. Thư viện được cấp 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 tới Document() để phân tích định dạng nhị phân OneNote. GetChildNodes(RichText) thực hiện một tìm kiếm đệ quy sâu và trả về mọi nút văn bản trong tài liệu, điều này hữu ích cho việc lập chỉ mục toàn văn bản hoặc các quy trình di chuyển.

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)

Xuất sang PDF và Lưu 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 pip install "aspose-note[pdf]". Cùng một đối tượng Document cũng có thể được lặp lại cho các nút Image để trích xuất và lưu tất cả các hình ảnh nhúng vào đĩa trong một lần.

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)

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

Aspose.Note FOSS - FOSS Aspose.Note cho Python là gì?

Đây là một thư viện Python miễn phí, được cấp phép MIT, dùng để đọc các tệp Microsoft OneNote (.one) mà không cần Microsoft Office, COM automation, hoặc 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ợ?

OneNote 2010, OneNote Online và các biến thể định dạng OneNote 2007. Bất kỳ tệp phần .one hợp lệ nào cũng có thể được tải.

Làm sao để cài đặt nó?

Chạy pip install aspose-note cho 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 thông 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ý 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 hoặc mới hơn là bắt buộc.

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

Không. Phiên bản hiện tại chỉ đọc. Nó có thể mở và phân tích bất kỳ tệp phần .one hợp lệ nào, nhưng việc ghi lại đị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 phiên 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à yêu cầu kéo (pull request) đều được chào đón.

  

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

 Tiếng Việt