每个工作表一页 – 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 自动化流水线。
为 Java 设置 GroupDocs.Conversion
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)。
Last Updated: 2026-01-15
Tested With: GroupDocs.Conversion 25.2
Author: GroupDocs