每個工作表一頁 – 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);
疑難排解技巧
- 缺失字體: 確認替代字體已安裝於系統或隨應用程式一起打包。
- 路徑錯誤: 檢查輸入與輸出文件的路徑;相對路徑應以專案根目錄為基準解析。
實務應用
字體替換與每個工作表一頁的轉換在許多實務情境中都相當有價值:
- 商業報告: 在各平台上保持一致的財務報告呈現。
- 法律文件: 在共享的合約 PDF 中保持外觀一致。
- 學術出版: 為論文與簡報稿統一字體。
- 行銷素材: 從試算表產生的手冊或電子報保持統一。
- 協作工具: 簡化依賴 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