精通字型替換與 GroupDocs.Conversion for Java

note 文件轉換為 PDF 同時保持字型一致性可能相當具挑戰性。在本指南中,您將學習 如何將 note 轉換為 pdf 使用 GroupDocs.Conversion for Java、取代缺失的字型,並設定預設備援字型,使您的輸出在每台裝置上皆保持相同外觀。

快速解答

  • 字型替換的主要目的為何? 它會將不可用的字型替換為您指定的字型,保持文件外觀一致。
  • 哪個函式庫負責轉換? GroupDocs.Conversion for Java
  • 生產環境需要授權嗎? 需要 – 必須擁有完整授權或臨時授權。
  • 可以為未知情況設定預設字型嗎? 當然可以,使用 NoteLoadOptions 中的 setDefaultFont()
  • 此功能是否相容於 JDK 8 及以上版本? 是,函式庫支援 Java 8+。

什麼是「convert note to pdf」?

「convert note to pdf」指的是將筆記類檔案格式(例如 .ONE.ENEX 等)轉換為通用的 PDF 格式。此過程常會遇到缺字型的問題,因此字型替換相當重要。

為何使用 GroupDocs.Conversion for Java?

  • 無縫字型處理 – 自動取代缺失的字型。
  • 高保真 PDF 輸出 – 保留版面配置、圖片與樣式。
  • 輕鬆整合 – 基於 Maven 的設定可直接嵌入任何 Java 專案。
  • 效能優化 – 大型文件的記憶體使用效率高。

前置條件

  • Java Development Kit (JDK) 版本 8 或以上。
  • IntelliJ IDEAEclipse 等 IDE。
  • 已安裝 Maven 以管理相依性。
  • 具備 Java 基礎與文件轉換概念。

設定 GroupDocs.Conversion for Java

將 GroupDocs 倉庫與相依性加入您的 pom.xml

<repositories>
   <repository>
      <id>repository.groupdocs.com</id>
      <name>GroupDocs Repository</name>
      <url>https://releases.groupdocs.com/conversion/java/</url>
   </repository>
</repositories>
<dependencies>
   <dependency>
      <groupId>com.groupdocs</groupId>
      <artifactId>groupdocs-conversion</artifactId>
      <version>25.2</version>
   </dependency>
</dependencies>

取得授權

GroupDocs 提供免費試用與測試用臨時授權,亦可購買正式授權以供生產使用。

  1. 免費試用:從 此處 下載。
  2. 臨時授權:於 此連結 申請。
  3. 購買授權:長期使用請於 此處 購買。

如何在 convert note to pdf 時替換字型

步驟 1:設定字型替換

建立 NoteLoadOptions 物件,定義要取代的字型對應,並為未匹配的情況設定備援字型:

import com.groupdocs.conversion.Converter;
import com.groupdocs.conversion.options.convert.PdfConvertOptions;
import com.groupdocs.conversion.options.load.NoteLoadOptions;
import com.groupdocs.conversion.contracts.FontSubstitute;

// Create font substitution options
NoteLoadOptions loadOptions = new NoteLoadOptions();
List<FontSubstitute> fontSubstitutes = new ArrayList<>();
fontSubstitutes.add(FontSubstitute.create("Tahoma", "Arial")); // Substitute Tahoma with Arial
fontSubstitutes.add(FontSubstitute.create("Times New Roman", "Arial")); // Substitute Times New Roman with Arial
loadOptions.setFontSubstitutes(fontSubstitutes);

// Set the default font for unhandled substitutions
defaultFont = "YOUR_DOCUMENT_DIRECTORY/terminal-grotesque_open.otf";
  • NoteLoadOptions – 為筆記文件配置載入選項。
  • FontSubstitute.create() – 將缺失字型映射至替代字型。
  • setDefaultFont() – 當沒有明確替代時,定義備援字型。

步驟 2:將文件轉換為 PDF

將已設定的載入選項傳入 Converter,執行轉換:

// Initialize Converter with specified load options
converter = new Converter("YOUR_DOCUMENT_DIRECTORY/sample_note_document", () -> loadOptions);

// Set PDF conversion options
pdfOptions = new PdfConvertOptions();

// Perform conversion
coder.convert("YOUR_OUTPUT_DIRECTORY/converted_note.pdf", pdfOptions);
  • Converter – 使用提供的選項載入來源檔案。
  • convert() – 將 PDF 檔寫入目標位置。

將筆記文件轉換為 PDF(不使用自訂字型)

如果只需要 java document to pdf 而不做字型替換,步驟更為簡潔:

// Initialize Converter for a given document
converter = new Converter("YOUR_DOCUMENT_DIRECTORY/sample_note_document");
pdfOptions = new PdfConvertOptions(); // Configure conversion options
converter.convert("YOUR_OUTPUT_DIRECTORY/converted_note.pdf", pdfOptions);

實務應用

  1. 文件共享 – 讓 PDF 在 Windows、macOS 或 Linux 上外觀完全相同。
  2. 歸檔 – 為合規需求保留舊筆記文件的視覺完整性。
  3. 跨平台相容性 – 確保所有利害關係人看到相同的字型,無論其安裝了哪些字體。

整合可能性

您可以將此轉換流程嵌入企業內容管理系統、處理上傳的微服務,或是批次工作,以將舊筆記檔案遷移至 PDF。

效能考量

  • 記憶體管理 – 使用串流方式處理大型檔案,避免一次載入全部內容。
  • 快取 – 快取常用字型檔以減少重複磁碟 I/O。
  • Java 最佳實踐 – 調整垃圾回收器,盡可能重複使用 Converter 實例。

常見問題與解決方案

問題可能原因解決方案
轉換後缺少字型未為該字型定義替換新增 FontSubstitute 條目或設定適當的預設字型。
loadOptions 發生 NullPointerException未將 loadOptions 傳遞給 Converter建構 Converter 時確保使用 () -> loadOptions lambda。
大檔案轉換緩慢整個文件一次載入記憶體使用串流 API 或適當增大 JVM 堆積大小。

常見問答

Q: 可以一次替換多個字型嗎?
A: 可以,將多個 FontSubstitute 條目加入 fontSubstitutes 清單即可。

Q: 若找不到預設字型會發生什麼事?
A: 轉換會退回使用系統的預設字型,可能在不同平台上有所差異。

Q: 如何排除轉換錯誤?
A: 檢查檔案路徑、確保所有 Maven 相依性已解析,並在主控台查看堆疊追蹤資訊。

Q: GroupDocs.Conversion 是否相容所有 Java 版本?
A: 支援 JDK 8 及以上版本。

Q: 字型替換能否用於 Word、Excel 等其他格式?
A: 當然可以 – 相同的 FontSubstitute 機制適用於多種文件類型。

資源


最後更新: 2026-01-28
測試版本: GroupDocs.Conversion 25.2 for Java
作者: GroupDocs