每個工作表一頁 – Java 中的 Excel 轉 PDF,字體替換

在將 Excel 試算表轉換為 PDF 時,要保持字體排版一致性相當具挑戰性,尤其是當您需要 每個工作表一頁 時。本教學說明如何在 Java 中 將 Excel 轉 PDF,同時強制每個工作表僅佔一頁,並使用 GroupDocs.Conversion 進行缺失字體的替換。完成後,您將擁有一個可靠的解決方案,確保跨平台的字體一致性,並簡化文件工作流程。

快速解答

  • 「每個工作表一頁」是什麼意思? 每個工作表會渲染在單一 PDF 頁面上。
  • 哪個函式庫負責轉換? GroupDocs.Conversion for Java。
  • 我可以自動替換缺失的字體嗎? 可以,使用 FontSubstitute 功能。
  • 我需要授權嗎? 需要臨時授權才能使用完整功能。
  • 此方法適用於大型活頁簿嗎? 可以,只要適當調整 JVM 記憶體設定。

前置條件

在實作程式碼之前,請確保您具備以下條件:

必要的函式庫與相依性

請確保已安裝 GroupDocs.Conversion 函式庫 25.2 版或更新版本,可透過 Maven 進行管理。

環境設定需求

  • 已在機器上安裝 Java Development Kit (JDK)。
  • 使用 IntelliJ IDEA 或 Eclipse 等 IDE 撰寫與執行 Java 程式碼。

知識前置條件

具備 Java 程式設計、透過 Maven 管理函式庫以及檔案轉換概念的基礎了解會很有幫助,但非絕對必要。

現在條件已備妥,讓我們深入實作。

為什麼在 Excel 轉 PDF 時使用 GroupDocs.Conversion Java?

  • 每個工作表一頁 的渲染可保證分頁可預測。
  • 字體替換 可確保 PDF 在任何系統上外觀相同,即使原始字體缺失。
  • 支援 convert excel to pdf,涵蓋 Excel 的多種功能(圖表、公式、樣式)。
  • 完全以 Java 程式化,適合 excel to pdf java 自動化流程。

設定 GroupDocs.Conversion for Java

Maven 設定

首先,將必要的倉庫與相依資訊加入 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 取得臨時授權,以在評估期間完整使用所有功能。

基本初始化與設定

完成 Maven 設定後,在 Java 應用程式中初始化 GroupDocs.Conversion:

import com.groupdocs.conversion.Converter;
import com.groupdocs.conversion.options.convert.PdfConvertOptions;

public class ConvertExcelToPDF {
    public static void main(String[] args) {
        String inputDocument = "sample.xlsx";
        String convertedFile = "output.pdf";

        // Initialize the Converter object with your document path
        Converter converter = new Converter(inputDocument);

        PdfConvertOptions options = new PdfConvertOptions();
        
        // Perform the conversion
        converter.convert(convertedFile, options);
    }
}

實作指南 – 使用字體替換與每個工作表一頁

本節說明如何在轉換 Excel 為 PDF 時同時替換字體,確保在原始字體缺失時仍能保持視覺一致性。

步驟 1:定義輸入與輸出路徑

決定 Excel 輸入檔案路徑與欲輸出的 PDF 路徑:

String inputDocument = "YOUR_DOCUMENT_DIRECTORY/sample.xlsx";
String convertedFile = "YOUR_OUTPUT_DIRECTORY/ConvertSpreadsheetBySpecifyingFontsubstitution.pdf";

步驟 2:設定載入選項與字體替換

建立 SpreadsheetLoadOptions 物件以設定轉換參數,並指定字體替換:

import com.groupdocs.conversion.options.load.SpreadsheetLoadOptions;
import com.groupdocs.conversion.contracts.FontSubstitute;

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

SpreadsheetLoadOptions loadOptions = new SpreadsheetLoadOptions();
loadOptions.setFontSubstitutes(fontSubstitutes);

步驟 3:設定預設字體與 每個工作表一頁

設定預設字體作為備用,並啟用 每個工作表一頁 選項,以確保每個工作表佔用單一 PDF 頁面:

loadOptions.setDefaultFont("resources/fonts/Helvetica.ttf");
loadOptions.setOnePagePerSheet(true);

專業提示: 在需要為報告或發票提供可預測分頁時,啟用 setOnePagePerSheet(true) 是必須的。

步驟 4:使用載入選項初始化 Converter

將載入選項傳遞給 Converter 物件:

Converter converter = new Converter(inputDocument, () -> loadOptions);

步驟 5:定義 PDF 轉換選項並執行轉換

指定轉換格式並執行轉換程序:

PdfConvertOptions options = new PdfConvertOptions();
converter.convert(convertedFile, options);

疑難排解技巧

  • 缺失字體: 確認替代字體已安裝於系統或隨應用程式一起打包。
  • 路徑錯誤: 檢查輸入與輸出文件的路徑;相對路徑應以專案根目錄為基準解析。

實務應用

字體替換與每個工作表一頁的轉換在許多實務情境中都相當有價值:

  1. 商業報告: 在各平台上保持一致的財務報告呈現。
  2. 法律文件: 在共享的合約 PDF 中保持外觀一致。
  3. 學術出版: 為論文與簡報稿統一字體。
  4. 行銷素材: 從試算表產生的手冊或電子報保持統一。
  5. 協作工具: 簡化依賴 PDF 預覽的文件管理系統。

效能考量

在轉換大型活頁簿時,優化效能的做法包括:

  • 使用串流 I/O 以降低記憶體佔用。
  • 依文件大小調整 JVM 堆積大小(-Xmx)。
  • 盡可能重複使用單一 Converter 實例以進行批次轉換。

常見問題

Q: GroupDocs.Conversion Java 的用途是什麼?
A: 它是一個用於轉換各種文件格式(包括 Excel 轉 PDF)的函式庫,提供字體替換與每個工作表一頁等可自訂設定。

Q: 我可以在不購買授權的情況下使用 GroupDocs.Conversion 嗎?
A: 可以,免費試用或臨時授權讓您在決定付費前先體驗所有功能。

Q: 在轉換過程中如何處理缺失的字體?
A: 在 SpreadsheetLoadOptions 中使用 FontSubstitute 物件定義替代字體;函式庫會自動替換不可用的字體。

Q: 使用 GroupDocs.Conversion 時,最佳的 Java 效能優化實踐是什麼?
A: 有效的記憶體管理、適當的 JVM 設定,以及以串流方式處理檔案,有助於維持高效能。

Q: 「每個工作表一頁」選項會影響圖表的呈現嗎?
A: 不會,圖表會被縮放以適應單一頁面,同時保留視覺真實度。

結論

您現在擁有一套完整、可投入生產的方式,使用 GroupDocs.Conversion 在 Java 中 將 Excel 轉 PDF,同時具備 每個工作表一頁 與自動 字體替換 功能。此方法確保字體排版一致、分頁可預測,並能順利整合至自動化文件流程中。

後續步驟

  • 嘗試其他 PdfConvertOptions(例如 PDF/A 相容性)。
  • 結合 GroupDocs.Annotation 以進行轉換後的編輯。
  • 使用相同模式探索其他來源格式(Word、PowerPoint)。

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