Aspose.Note FOSS for Python 是一个 100% 免费、MIT 许可证的库,允许您完全从 Python 读取 Microsoft OneNote (.one) 文件,无需 Microsoft Office、COM 自动化,也不需要专有运行时。它公开了一个简洁的公共 API(aspose.note.*),该 API 采用熟悉的 Aspose.Note for .NET 接口模型,并由用纯 Python 编写的内置 MS-ONE/OneStore 二进制解析器提供支持。
使用 pip install aspose-note 从 PyPI 安装(或使用 pip install "aspose-note[pdf]" 以启用 PDF 导出)。需要 Python 3.10 或更高版本。
该库适用于文档自动化脚本、内容索引管道、归档工具以及任何需要在不依赖 Microsoft Office 的情况下消费 OneNote 内容的服务器端工作流。有关企业产品系列,请参阅 Aspose.Note — Enterprise Product Family。
Document 从文件路径或二进制流打开任何 OneNote 部分。Document → Page → Outline → OutlineElement → RichText / Image / Table / AttachedFileRichText.Text 读取原始文本,或检查 TextRun 段落以获取粗体、斜体、字体、颜色和超链接元数据。Table → TableRow → TableCell 层次结构; 通过 TableColumn.Width 读取列宽。NoteTag 元数据(shape, label, color, completion state)在文本、图像和表格节点上。.one 文件保存到磁盘。Document 保存为 PDF,使用 Document.Save(path, SaveFormat.Pdf)。FOSS 版使用默认渲染;此版本不提供高级的每页 PDF 选项。Image 节点以检索原始字节 (Bytes)、文件名 (FileName) 和尺寸 (OriginalWidth, OriginalHeight)。AttachedFile 节点以将嵌入的文件附件保存到磁盘。io.BytesIO)打开 .one 文件,而无需写入磁盘。Aspose.Note FOSS 使用单个 pip install aspose-note 命令进行安装。基础包没有可选依赖;PDF 导出需要 ReportLab,通过 pip install "aspose-note[pdf]" 安装。
该 API 基于熟悉的 Aspose.Note 用于 .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))}")
# 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)
PDF 导出需要可选的 ReportLab 依赖项。使用 pip install "aspose-note[pdf]" 安装它。相同的 Document 对象也可以针对 Image 节点进行迭代,以一次性提取并保存所有嵌入的图像到磁盘。
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)
它是一个免费、MIT 许可证的 Python 库,用于读取 Microsoft OneNote (.one) 文件,无需 Microsoft Office、COM 自动化或任何专有运行时。
OneNote 2010、OneNote Online 和 OneNote 2007 格式变体。任何有效的 .one 节段文件都可以加载。
运行 pip install aspose-note 以获取基础库,或运行 pip install "aspose-note[pdf]" 以包含可选的 ReportLab 依赖用于 PDF 导出。
是的。调用 Document.Save(path, SaveFormat.Pdf)。PDF 导出需要通过 [pdf] 额外安装的可选 ReportLab 依赖。
是的。Document 类接受二进制流(例如 io.BytesIO 或 HTTP 响应体),因此您可以在不写入磁盘的情况下处理文件。
需要 Python 3.10 或更高版本。
不。当前版本为只读。它可以打开并解析任何有效的 .one 节段文件,但不支持写回 OneNote 二进制格式。
不。加载受密码保护的 .one 文件会引发 IncorrectPasswordException。当前版本不支持加密文档。
该库采用 MIT 许可证,托管在 GitHub 上。欢迎提交错误报告和拉取请求。