有效管理信息通常需要的不僅僅是基於文本的筆記。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:
- 從 Aspose releases page 下載最新版本。
- 如果您使用 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 中附加文件:
- 創建一個新的
Document對象。 - 初始化一個
Page、Outline和OutlineElement。 - 創建一個
AttachedFile物件,提供文件和文件路徑。 - 將附加文件附加到大綱元素。
- 將大綱元素添加到大綱中。
- 將大綱添加到頁面。
- 將頁面附加到文件。
- 保存含有新附加文件的 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 提取附件:
- 使用
Document類別加載 OneNote 文檔。 - 呼叫
getChildNodes(AttachedFile.class)以收集所有附件。 - 遍歷
AttachedFile物件的列表。 - 存取每個檔案的
getFileName()和getBytes()屬性。 - 將提取的文件保存到您的本地目錄中。
這裡有一個 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 文檔中刪除不需要的附件。這在整理筆記本或減少文件大小時非常有用。
按照這些步驟:
- 使用
Document類別加載 OneNote 文檔。 - 使用
getChildNodes(AttachedFile.class)方法檢索所有附件。 - 遍歷附件列表。
- 通過調用
remove()方法刪除每個附件。 - 保存更新的文件以應用更改。
以下程式碼範例刪除了所有嵌入的檔案並儲存了您筆記本的更輕版。
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 聯絡我們。
