常见问题

许可与开源

什么许可证用于 Aspose.Note FOSS for Python?

Aspose.Note FOSS for Python 在以下许可证下发布 MIT License。您可以出于任何目的使用、修改和重新分发该库——包括商业应用——无需版税,也无需除包含许可证文本之外的署名要求。

我可以在商业产品中使用此库吗?

是的。MIT License 对商业使用、再分发或修改没有任何限制。不存在运行时费用、使用限制或订阅要求。

源码在哪里?

该软件包已在 PyPI 上以 aspose-note 形式发布。使用以下方式安装:

pip install aspose-note-foss

安装与需求

如何为Python安装 Aspose.Note FOSS?

使用下面的 pip 命令从 PyPI 安装软件包 — 不需要系统依赖:

pip install aspose-note-foss

通过导入 Document 并打印确认信息来验证安装:

from aspose.note import Document
print("aspose-note is ready.")

支持哪些 Python 版本?

Aspose.Note FOSS for Python 需要 Python 3.10 或更高版本。它是纯 Python,没有编译扩展,因此在 Windows、macOS、Linux、Docker 容器和无服务器函数上运行完全相同。

它需要 Microsoft Office 或 Microsoft OneNote 吗?

不。该库读取 OneNote .one 文件,并在 Python 中原生导出为 PDF。它不依赖 Microsoft Office、COM 自动化或任何特定于 Windows 的 API。


格式支持

我可以读取哪些 OneNote 格式?

该库读取三种 OneNote 二进制变体:

格式扩展名读取写入
OneNote 2010.one✓—
OneNote 2007.one✓—
OneNote 在线.one✓—
PDF.pdf—✓

在已加载的 Document 上使用 FileFormat 属性,以确定检测到的变体:

from aspose.note import Document

doc = Document("notebook.one")
print(doc.FileFormat)  # e.g. FileFormat.OneNote2010

我可以将 OneNote 文档导出为 PDF 吗?

是的。将 SaveFormat.Pdf 作为第二个参数传递给 Document.Save()。下面的示例将已加载的 OneNote 文档导出为 PDF 文件:

from aspose.note import Document, SaveFormat

doc = Document("notebook.one")
doc.Save("output.pdf", SaveFormat.Pdf)

您也可以通过传递一个 BytesIO 对象而不是文件路径,将数据保存到内存缓冲区。

我可以保存回 OneNote 格式吗?

不。该库可以读取 .one 文件,但仅支持导出为 PDF。使用除 PDF 之外的格式调用 Document.Save() 会抛出 UnsupportedSaveFormatException。所有保存操作请使用 SaveFormat.Pdf。


API Usage

我该如何加载 OneNote 文件?

使用文件路径实例化 Document,以将完整的 OneNote 文档树加载到内存中:

from aspose.note import Document

doc = Document("notebook.one")

Document 是对象模型的根。文件中的每个 Page、Outline 和 RichText 节点都可以通过此根访问。

我该如何遍历页面及其文本内容?

使用 GetChildNodes() 检索树中任意层级的已类型化子节点:

from aspose.note import Document, Page, RichText

doc = Document("notebook.one")
for page in doc.GetChildNodes(Page):
    print(f"Page author: {page.Author}")
    for rt in page.GetChildNodes(RichText):
        text = "".join(rt)
        if text.strip():
            print(text)

我该如何从头构建文档?

自上而下构建节点,并使用 AppendChildLast() 将每个节点附加到其父节点,然后调用 Document.Save() 来写入结果:

from aspose.note import Document, Page, Outline, RichText, TextStyle, Title, SaveFormat

doc = Document()
page = Page()

title_text = RichText()
title_text.Append("My Page Title", TextStyle())
title = Title()
title.TitleText = title_text
page.Title = title

outline = Outline()
page.AppendChildLast(outline)
doc.AppendChildLast(page)
doc.Save("new_notebook.pdf", SaveFormat.Pdf)

我该如何读取页面元数据,例如作者和创建时间?

每个 Page 节点将 Author、CreationTime 和 LastModifiedTime 公开为属性。Title 节点提供 TitleText、TitleDate 和 TitleTime 作为 RichText 子节点:

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}")

已知限制

是否存在我需要注意的已知限制?

当前版本(26.3.2)专注于读取 OneNote .one 文件并导出为 PDF。仅支持 PDF 输出格式。光栅和矢量输出(如 PNG、SVG 和 HTML)不在此 FOSS 版的范围之内。

我可以控制 PDF 导出选项,例如页面大小或 DPI 吗?

Document.Save() 与 SaveFormat.Pdf 是将 OneNote 文档导出为 PDF 的标准方式。当前的 API 界面不支持高级保存选项;此方法会生成默认渲染。如果需要细粒度的输出控制,请使用专用的 PDF 工具对生成的文件进行进一步调整。

图像节点上可以获取图像尺寸吗?

Image 节点公开两对尺寸属性。Width 和 Height 是可变属性,您可以读取和赋值。OriginalWidth 和 OriginalHeight 是只读属性,返回原始图像尺寸。所有四个属性均返回 float | None。


另请参阅

 中文