Aspose.Note FOSS for Python 是一个 100% 免费、MIT 许可证的库,允许您完全在 Python 中读取 Microsoft OneNote (.one) 文件,无需 Microsoft Office、COM 自动化,也不需要专有运行时。它提供了一个简洁的公共 API(aspose.note.*),其模型基于熟悉的 Aspose.Note for .NET 接口,并由用纯 Python 编写的内置 MS-ONE/OneStore 二进制解析器支持。
通过 PyPI 安装,使用 pip install aspose-note(或 pip install "aspose-note[pdf]" 以启用 PDF 导出)。需要 Python 3.10 或更高版本。
该库适用于文档自动化脚本、内容索引流水线、归档工具以及任何需要在不依赖 Microsoft Office 的情况下处理 OneNote 内容的服务器端工作流。
Document 从文件路径或二进制流打开任意 OneNote 部分。Document → Page → Outline → OutlineElement → RichText / Image / Table / AttachedFile 之间导航。RichText.Text 读取原始文本,或检查 TextRun 段落以获取粗体、斜体、字体、颜色和超链接元数据。Table → TableRow → TableCell 层级,获取列宽和边框可见性信息。NoteTag 元数据(形状、标签、颜色、完成状态)。.one 文件中将嵌入的图像和附件保存到磁盘。Document.Save(path, SaveFormat.Pdf) 将任意已加载的 Document 保存为 PDF。PdfSaveOptions 自定义页码范围、标签图标目录、图标大小和间距。Image 节点以获取原始字节、文件名、尺寸和 alt 文本。AttachedFile 节点,将嵌入的文件附件保存到磁盘。io.BytesIO)打开 .one 文件,无需写入磁盘。Aspose.Note FOSS 可通过单个 pip install aspose-note 命令安装。基础包没有可选依赖;PDF 导出需要 ReportLab,可通过 pip install "aspose-note[pdf]" 安装。
API 采用熟悉的 Aspose.Note for .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))}")
# 提取整个文档中的所有文本
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")
# 将文档导出为 PDF(需要 aspose-note[pdf])
doc.Save("output.pdf", SaveFormat.Pdf)
# 将所有嵌入的图像保存到磁盘
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)
它是一个免费、MIT 许可证的 Python 库,用于读取 Microsoft OneNote (.one) 文件,无需 Microsoft Office、COM 自动化或任何专有运行时。
支持 OneNote 2010、OneNote Online 和 OneNote 2007 格式变体。任何有效的 .one 节文件都可以加载。
运行 pip install aspose-note 安装基础库,或运行 pip install "aspose-note[pdf]" 来包含用于 PDF 导出的可选 ReportLab 依赖。
是的。调用 Document.Save(path, SaveFormat.Pdf)。PDF 导出需要通过 [pdf] 额外安装的可选 ReportLab 依赖。
是的。Document 类接受二进制流(例如 io.BytesIO 或 HTTP 响应体),因此您可以在不写入磁盘的情况下处理文件。
Python 3.10 或更高版本是必需的。
不。当前版本为只读。它可以打开并解析任何有效的 .one 节段文件,但不支持写回 OneNote 二进制格式。
不。加载受密码保护的 .one 文件会抛出 IncorrectPasswordException。当前版本不支持加密文档。
该库采用 MIT 许可证,托管在 GitHub 上。欢迎提交错误报告和拉取请求。