有效地管理信息通常需要的不仅仅是基于文本的笔记。Microsoft OneNote 帮助用户在一个地方组织想法、项目细节和支持材料。它最有价值的功能之一是能够直接在笔记本中存储附件,如 PDF、图像和电子表格,使其成为个人和专业使用的多功能工具。在本文中,您将学习如何在 Java 中添加、提取和删除 OneNote 附件。

本文涵盖以下内容:

  • 在 OneNote 中以编程方式附加文件
  • 附加一个带有自定义图标的文件
  • 从 OneNote 中检索现有附件
  • 从笔记本中删除附件

Java 库用于处理 OneNote 附件

Aspose.Note for Java 简化了使用 Java 在 OneNote 文档中附加文件的过程。这个强大的 API 使开发者可以全面控制 OneNote 笔记本。它允许您以编程方式创建、编辑和管理内容。凭借其强大的功能,您可以高效地处理 OneNote 附件,包括添加、提取、自定义图标和移除文件。

Aspose.Note for Java 是管理 OneNote 中附件的理想选择,因为它具有:

  • 轻松集成:快速将库添加到您的 Java 项目中。
  • 灵活性:支持多种文件格式的附件。
  • 高级自定义:控制文件和图标在笔记本内部的显示方式。

安装 Aspose.Note for Java

您可以通过几个步骤设置 Aspose.Note for Java:

  1. Aspose releases page 下载最新版本。
  2. 如果您使用 Maven,请将以下依赖项添加到您的 pom.xml 文件中:
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-note</artifactId>
    <version>25.6</version> <!-- use latest version -->
    <classifier>jdk17</classifier>
</dependency>

对于 Gradle 和其他构建工具,说明可在 Aspose.Note for Java documentation 中找到。

在 OneNote 中使用 Java 附加文件

您还可以在 OneNote 中通过 Java 编程方式附加文件。这在生成自动化报告或包含支持文档的会议记录时非常有用。

遵循以下步骤,通过 Java 使用 Aspose.Note 在 OneNote 中附加文件:

  1. 创建一个新的 Document 对象。
  2. 初始化一个 PageOutlineOutlineElement
  3. 创建一个 AttachedFile 对象,方法是提供文档和文件路径。
  4. 将附加的文件追加到轮廓元素中。
  5. 添加大纲元素到大纲中。
  6. 将大纲添加到页面。
  7. 将页面附加到文档中。
  8. 保存带有新附加文件的 OneNote 文档。

这是一个实现这些步骤的 Java 代码示例:

import com.aspose.note.*;

// 创建 Document 类的对象
Document doc = new Document();

// 初始化 Page 类对象
Page page = new Page();

// 初始化 Outline 类对象
Outline outline = new Outline();

// 初始化 OutlineElement 类对象
OutlineElement outlineElem = new OutlineElement();

// 初始化 AttachedFile 类对象
AttachedFile attachedFile = new AttachedFile("attachment.txt");

// Add attached file
outlineElem.appendChildLast(attachedFile);

// 添加轮廓元素节点
outline.appendChildLast(outlineElem);

// 添加大纲节点
page.appendChildLast(outline);

// 添加页面节点
doc.appendChildLast(page);
String saveFile = "AttachFileByPath_out.one";
doc.save(saveFile);

在 OneNote 中附加带自定义图标的文件

您可以显示自定义图标以获得更好的可视化效果,而不是默认图标。例如,当附加 PDF 时,您可能想显示一个 PDF 图标。您可以附加一个文件并按照之前提到的步骤设置其图标。但是,您只需在 AttachedFile 类实例中提供图标路径,如下代码示例所示。

import com.aspose.note.*;

// 创建一个 Document 类的对象
Document doc = new Document();

// 初始化 Page 类对象
Page page = new Page();

// 初始化 Outline 类对象
Outline outline = new Outline();

// 初始化 OutlineElement 类对象
OutlineElement outlineElem = new OutlineElement();

// 初始化 AttachedFile 类对象,并传递其图标路径
AttachedFile attachedFile = null;
try {
    attachedFile = new AttachedFile("attachment.pdf", new FileInputStream("pdf-icon.png"), ImageFormat.getPng());
} catch (FileNotFoundException e) {
    e.printStackTrace();
}

// Add attached file
outlineElem.appendChildLast(attachedFile);

// 添加轮廓元素节点
outline.appendChildLast(outlineElem);

// 添加大纲节点
page.appendChildLast(outline);

// 添加页面节点
doc.appendChildLast(page);

// 保存文件
String saveFile = "AttachFileAndSetIcon_out.one";
doc.save(saveFile);
附加文件并设置其图标

附加文件并设置其图标

在Java中从OneNote中提取附件

如果您的笔记本已经包含附件,您可能需要提取它们。Aspose.Note 使得这变得简单,通过 getChildNodes(AttachedFile.class) 方法。

按照下面的步骤使用 Aspose.Note 在 Java 中从 OneNote 中提取附件:

  1. 使用 Document 类加载 OneNote 文档。
  2. 调用 getChildNodes(AttachedFile.class) 来收集所有附件。
  3. 遍历 AttachedFile 对象的列表。
  4. 访问每个文件的 getFileName()getBytes() 属性。
  5. 将提取的文件保存到您的本地目录。

这里有一个 Java 代码示例,提取所有嵌入的文件(例如,PDF、DOCX、XLSX),并将它们保存到您选择的文件夹中。

import com.aspose.note.*;

// 将文档加载到 Aspose.Note 中
Document doc = new Document("AttachFileAndSetIcon_out.one");

// 获取附件列表
List<AttachedFile> attachments = doc.getChildNodes(AttachedFile.class);
System.out.println("Total attachments: " + attachments.size());

for (AttachedFile a : attachments) {
  // 加载附件到内存中
  byte[] buffer = a.getBytes();
  ByteArrayInputStream stream = new ByteArrayInputStream(buffer);

  // 保存到输出位置
  String outputFile = "Output_" + a.getFileName();
  Path outputPath = Path.of("D:\\Files\\", outputFile);
  Files.copy(stream, outputPath, StandardCopyOption.REPLACE_EXISTING);

  System.out.println("File saved: " + outputPath);
}

在Java中从OneNote中删除附件

如果您需要保持笔记本的整洁,您可以轻松地从 OneNote 文档中删除不必要的附件。这在整理笔记本或减小文件大小时非常有用。

遵循以下步骤:

  1. 使用 Document 类加载 OneNote 文档。
  2. 使用 getChildNodes(AttachedFile.class) 方法检索所有附件。
  3. 遍历附件列表。
  4. 通过调用 remove() 方法删除每个附件。
  5. 保存更新后的文档以应用更改。

以下代码示例删除所有嵌入的文件并保存您笔记本的更轻版本。

import com.aspose.note.*;

// 第 1 步:加载 OneNote 文档
Document doc = new Document("AttachFileAndSetIcon_out.one");

// 步骤 2:获取文档中的所有附件
List<AttachedFile> attachments = doc.getChildNodes(AttachedFile.class);

// 步骤 3:迭代并移除每个附件
for (AttachedFile af : attachments) {
    ICompositeNode parent = (ICompositeNode) af.getParentNode();
    if (parent != null && parent instanceof CompositeNode) {
        ((CompositeNode) parent).removeChild(af); // no generics
    }
}

// 步骤 4:保存更新后的笔记本
doc.save("RemovedAttachments_out.one");

获取免费许可证

您可以通过申请免费临时许可证来无限制地试用 Aspose.Note for Java。这允许您测试所有功能,包括创建 OneNote 笔记本、提取文件和管理附件,而没有评估限制。

获取免费临时许可证 并释放在 Java 中处理 OneNote 附件的全部潜力。

OneNote 附件:免费资源

为了帮助您更深入地了解 OneNote 中的附件,这里有一些有用的资源:

这些资源将指导您学习如何在 OneNote 中附加文件、移除附件以及使用 Java 应用程序构建自动化。

结论

在 OneNote 中使用 Java 管理附件变得高效且可靠,这得益于 Aspose.Note for Java。该库使开发人员能够从笔记本中提取文件、添加新的附件、应用自定义图标,并精确删除不必要的内容。这种控制级别允许您将文件管理直接集成到您的应用程序中,使 OneNote 成为处理项目文档和参考材料的更强大工具。通过采用 Aspose.Note for Java,您获得了提高生产力和在开发项目中保持条理清晰的笔记本的能力。

如果您有任何问题或需要进一步的帮助,请随时通过我们的 免费支持论坛 联系我们。

另请参阅