有效管理信息通常需要的不僅僅是基於文本的筆記。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);
附加檔案並設定其圖示

附加檔案並設置其圖示

從 OneNote 中提取附件的 Java 代碼

如果您的筆記本已經包含附件,您可能需要將它們提取出來。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 應用程式構建自動化。

結論

使用 Aspose.Note for Java,在 Java 中管理 OneNote 附件變得高效且可靠。該庫使開發人員能夠從筆記本中提取文件、添加新附件、應用自定義圖標以及精確地移除不必要的內容。這種控制水平允許您直接將文件管理集成到應用程序中,使用 OneNote 成為處理項目文檔和參考材料的更強大工具。通過採用 Aspose.Note for Java,您將能夠提高生產力並在開發項目中維護良好組織的筆記本。

如果您有任何問題或需要進一步的協助,請隨時透過我們的 free support forum 聯絡我們。

看也可以