Introduction
Aspose.Note FOSS for Python (aspose-note trên PyPI) là một thư viện miễn phí, MIT cấp phép cho các Đọc Microsoft OneNote .one file và xuất sang PDF trong Python tinh khiết. phiên bản 26.3.2 tàu với một mô hình đối tượng tài liệu đầy đủ bao gồm các trang, bản tắt, nút văn bản giàu có, hình ảnh, và các tệp được gắn — không cần cài đặt Microsoft Office hoặc Windows phụ thuộc.
Các tính năng chính
Tài liệu tải và định dạng phát hiện
Document là gốc của mô hình đối tượng. đi qua một con đường tệp để tải lên bất kỳ OneNote được hỗ trợ định dạng: The FileFormat báo cáo tài sản mà định dạng đã được phát hiện.
from aspose.note import Document, FileFormat
doc = Document("notebook.one")
print(f"Format : {doc.FileFormat}")
print(f"Pages : {len(list(doc))}")
Chuyển qua các trang và tiêu đề
Các trang là Page Các nút trực tiếp dưới Document.Mỗi người Page - Phát hiện các metadata như vậy như Author, CreationTime, và Title.The Title Node trong lượt cung cấp TitleText, TitleDate, và TitleTime như RichText trẻ em .
from aspose.note import Document, Page
doc = Document("notebook.one")
for page in doc.GetChildNodes(Page):
print(f"Author : {page.Author}")
print(f"Created : {page.CreationTime}")
if page.Title and page.Title.TitleText:
print(f"Title : {page.Title.TitleText}")
Đọc nội dung văn bản giàu có
RichText các nút là các mã lá mang nội dung văn bản thực tế.Iterate a RichText đối tượng với một tiêu chuẩn for loop — mỗi mục là một phân đoạn string. sử dụng Append() để thêm văn bản mới với một phong cách.
from aspose.note import Document, Page, Outline, RichText
doc = Document("notebook.one")
for page in doc.GetChildNodes(Page):
for rt in page.GetChildNodes(RichText):
text = "".join(rt)
if text.strip():
print(text[:120])
Outline Layout thuộc tính
Outline Các nút tiết lộ các phối hợp bố trí: HorizontalOffset, VerticalOffset, MaxWidth, MaxHeight, và MinWidth.Những điều này hữu ích cho việc khai thác layout-aware hoặc tái cấu hình các trang.
from aspose.note import Document, Outline
doc = Document("notebook.one")
for outline in doc.GetChildNodes(Outline):
print(f"HOffset={outline.HorizontalOffset} VOffset={outline.VerticalOffset} MaxW={outline.MaxWidth}")
Tài liệu cây xây dựng
xây dựng a Document Từ Scratch sử dụng CompositeNode.AppendChildLast().Mỗi loại node Có thể được thêm vào cha mẹ có hiệu lực: Page → Document, Outline → Page, RichText nodes → Outline.
from aspose.note import Document, Page, Outline, RichText, ParagraphStyle, Title, SaveFormat
doc = Document()
page = Page()
title_text = RichText()
title_text.Append("My New Page", ParagraphStyle())
title = Title()
title.TitleText = title_text
page.Title = title
outline = Outline()
page.AppendChildLast(outline)
doc.AppendChildLast(page)
doc.Save("new_notebook.pdf", SaveFormat.Pdf)
xuất sang PDF
Document.Save() chấp nhận SaveFormat.Pdf để viết PDF vào một đường file hoặc A BytesIO Buffer: Xuất khẩu hoàn toàn trong quá trình mà không có bất kỳ render bên ngoài nào.
import io
from aspose.note import Document, SaveFormat
doc = Document("notebook.one")
# File output
doc.Save("export.pdf", SaveFormat.Pdf)
# In-memory buffer
buf = io.BytesIO()
doc.Save(buf, SaveFormat.Pdf)
print(f"PDF bytes: {len(buf.getvalue())}")
Khởi động nhanh
pip install aspose-notefrom aspose.note import Document, Page, RichText, SaveFormat
doc = Document("notebook.one")
# Print all text
for page in doc.GetChildNodes(Page):
for rt in page.GetChildNodes(RichText):
print("".join(rt))
# Export to PDF
doc.Save("output.pdf", SaveFormat.Pdf)
Các định dạng hỗ trợ
| Format | Extension | Read | Write |
|---|---|---|---|
| OneNote 2010 | .one | ✓ | — |
| OneNote 2007 | .one | ✓ | — |
| OneNote Online | .one | ✓ | — |
.pdf | — | ✓ |
Open Source & Giấy phép
Aspose.Note FOSS for Python is released under the MIT License. Install from PyPI as aspose-note.Sử dụng thương mại, tái phân phối và sửa đổi đều được phép.