常见问题
许可与开源
什么许可证用于 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 | — | ✓ |
在已加载的 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。