OneNote 是一個數字筆記本,可以收集、組織和協作筆記、繪圖、屏幕剪輯和音頻評論。在某些情況下,我們可能需要將 OneNote 文檔的內容導出為 PDF 文檔。它允許與沒有 OneNote 的人共享講義。 PDF 是最流行的格式,用於共享和打印文檔而不丟失格式。在本文中,我們將學習如何使用 Java 將 OneNote 文檔轉換為 PDF。
本文應涵蓋以下主題:
- OneNote to PDF Converter Java API
- 將現有的 OneNote 文檔轉換為 PDF
- 創建 OneNote 文檔並將其轉換為 PDF
- 將 OneNote 頁面範圍轉換為 PDF
- 使用圖像壓縮將 OneNote 轉換為 PDF
OneNote to PDF Converter Java API
為了將 OneNote 文檔轉換為 PDF,我們將使用 Aspose.Note for Java API。它允許以編程方式創建、閱讀和轉換 OneNote 文檔,而無需使用 Microsoft OneNote。
API 的 Document 類表示 Onenote 文檔。它提供了多種方法和屬性來處理 OneNote 文檔。該類的 save() 方法允許將 OneNote 文檔以指定格式保存在該磁盤上。 Page 類表示 OneNote 文檔中的一頁。 API 的 PdfSaveOptions 類提供用於創建 PDF 的選項,例如 PageIndex、PageCount 等。
請下載 API 的 JAR 或在基於 Maven 的 Java 應用程序中添加以下 pom.xml 配置。
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>http://repository.aspose.com/repo/</url>
</repository>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-note</artifactId>
<version>22.3</version>
<classifier>jdk17</classifier>
</dependency>
將現有的 OneNote 文檔轉換為 PDF
我們可以按照以下步驟將現有的 OneNote 文檔轉換為 PDF:
- 使用 Document 類加載 OneNote 文件。
- 調用 Save() 方法將 OneNote 文檔保存為 PDF。它採用輸出 PDF 文件路徑和保存格式作為參數。
下面的代碼示例展示瞭如何使用 Java 將現有的 OneNote 文檔轉換為 PDF。
// 此代碼示例演示如何將現有的 OneNote 轉換為 PDF。
// 加載現有的 OneNote 文檔。
Document oneFile = new Document("C:\\Files\\Sample1.one");
// 將 OneNote 另存為 PDF
oneFile.save("C:\\Files\\Sample1_out.pdf", SaveFormat.Pdf);
創建 OneNote 文檔並轉換為 PDF
我們可以按照以下步驟創建一個 OneNote 文檔並將其以編程方式轉換為 PDF:
- 首先,創建一個 Document 類的實例。
- 接下來,使用 Page 類對象創建一個新頁面。
- 然後,使用 AppendChildLast() 方法將新創建的頁面添加到文檔中。
- 之後,添加頁面標題等內容。
- 最後,調用 Save() 方法將 OneNote 文檔保存為 PDF。它以輸出 PDF 文件路徑作為參數。
以下代碼示例展示瞭如何使用 Java 創建 OneNote 文檔並將其轉換為 PDF。
// 此代碼示例演示如何創建新的 OneNote 文檔並將其轉換為 PDF。
// 初始化 OneNote 文檔
Document doc = new Document();
// 添加新頁面
Page page = new Page();
// 文檔中所有文本的默認樣式。
ParagraphStyle textStyle = new ParagraphStyle();
textStyle.setFontColor(Color.BLACK);
textStyle.setFontName("Arial");
textStyle.setFontSize(10);
// 設置頁面標題屬性
Title title = new Title();
RichText titleText = new RichText();
titleText.setText("Title text.");
titleText.setParagraphStyle(textStyle);
title.setTitleText(titleText);
RichText titleDate = new RichText();
Calendar cal = Calendar.getInstance();
cal.set(2018, 04, 03);
titleDate.setText(cal.getTime().toString());
titleDate.setParagraphStyle(textStyle);
title.setTitleDate(titleDate);
RichText titleTime = new RichText();
titleTime.setText("12:34");
titleTime.setParagraphStyle(textStyle);
title.setTitleText(titleTime);
page.setTitle(title);
// 在文檔中追加頁面節點
doc.appendChildLast(page);
// 保存成PDF格式
doc.save("C:\\Files\\CreateOneNoteDocAndSaveAsPDF.pdf");
將 OneNote 頁面範圍轉換為 PDF
我們可以按照以下步驟將一系列頁面從 OneNote 文檔轉換為 PDF:
- 首先,使用 Document 類加載一個 OneNote 文件。
- 接下來,定義 PdfSaveOptions 類對象。
- 然後,設置從何處開始轉換的 PageIndex。
- 之後,設置 PageCount 以轉換總頁數。
- 最後,調用 Save() 方法將 OneNote 文檔保存為 PDF。它以輸出 PDF 文件路徑和 PdfSaveOptions 作為參數。
以下代碼示例顯示如何使用 Java 將一系列頁面從 OneNote 文檔轉換為 PDF。
// 此代碼示例演示如何將 OneNote 的一系列頁面轉換為 PDF。
// 裝入文檔
Document oneFile = new Document("C:\\Files\\Sample1.one");
// 初始化 PdfSaveOptions 對象
PdfSaveOptions options = new PdfSaveOptions();
// 設置頁面索引:0 表示從第一頁開始保存。
options.setPageIndex(0);
// 設置頁數:1表示只保存一頁。
options.setPageCount(1);
// 將 OneNote 另存為 PDF
oneFile.save("C:\\Files\\ConvertRange_out.pdf", options);
使用圖像壓縮將 OneNote 轉換為 PDF
我們可以按照以下步驟將 OneNote 文檔的圖像壓縮,同時將其轉換為 PDF 文檔:
- 首先,使用 Document 類加載一個 OneNote 文件。
- 接下來,定義 PdfSaveOptions 類對象。
- 然後,將 ImageCompression 類型設置為 JPEG。
- 之後,使用 JpegQuality 設置 JPEG 壓縮的質量。
- 最後,調用 Save() 方法將 OneNote 文檔保存為 PDF。它以輸出 PDF 文件路徑和 PdfSaveOptions 作為參數。
以下代碼示例顯示如何將 OneNote 文檔轉換為 PDF 並使用 Java 應用圖像壓縮。
// 此代碼示例演示如何使用圖像壓縮將 OneNote 轉換為 PDF。
// 裝入文檔
Document oneFile = new Document("C:\\Files\\Sample1.one");
// 初始化 PdfSaveOptions 對象
PdfSaveOptions options = new PdfSaveOptions();
// 使用 Jpeg 壓縮
options.setImageCompression(PdfImageCompression.Jpeg);
// JPEG 壓縮質量
options.setJpegQuality(90);
// 將 OneNote 另存為 PDF
oneFile.save("C:\\Files\\ConvertWithImageCompression.pdf", options);
獲得免費許可證
您可以 獲得免費的臨時許可證 來試用該庫,而沒有評估限制。
結論
在本文中,我們學習瞭如何:
- 使用 Java 創建一個新的 OneNote 文檔;
- 以編程方式將 OneNote 文檔保存為 PDF;
- 將 OneNote 文檔中的筆記導出為 PDF 並壓縮圖像。
此外,您可以使用 文檔 了解有關 Aspose.Note for Java API 的更多信息。如有任何歧義,請隨時在論壇上與我們聯繫。