在 Java 中使用 GroupDocs Viewer 将 Excel 转换为 PDF

在现代数据驱动的应用程序中,在 Java 中将 Excel 转换为 PDF 的能力是巨大的生产力提升。使用 GroupDocs.Viewer,您可以将复杂的电子表格转换为精美的 PDF——保留分页符、网格线和列标题——无需在服务器上安装 Microsoft Office。本教程将带您完成整个过程,从环境设置到细化渲染选项,让您能够向任何客户端交付一致的、可打印的文档。

介绍

在当今数据驱动的世界中,高效的文档管理对希望简化运营的企业至关重要。电子表格通常是必须以一致的只读格式在各平台之间共享的主要数据来源。将带有分页符的电子表格渲染为 PDF,确保每个逻辑段落在新页面开始,保留布局设计者所期望的外观。本指南将展示如何使用 GroupDocs.Viewer for Java 实现这一点,该库能够为您处理繁重的工作。

在 Java 中使用 GroupDocs.Viewer 的电子表格分页符

您将学习

  • 如何通过逐页渲染将 在 Java 中将 Excel 转换为 PDF。
  • 配置电子表格渲染选项,如网格线和标题。
  • 为 GroupDocs.Viewer 设置开发环境。
  • 实际场景中,具备分页感知的 PDF 如何节省时间并减少错误。

快速答案

  • 主要库是什么? GroupDocs.Viewer for Java。
  • 哪个方法按分页符渲染? SpreadsheetOptions.forRenderingByPageBreaks()。
  • 我可以在 PDF 中添加网格线吗? 可以——调用 setRenderGridLines(true)。
  • 如何在 PDF 中包含列标题? 启用 setRenderHeadings(true)。
  • 生产环境需要许可证吗? 是的,需要有效的 GroupDocs 许可证。

方法定义: SpreadsheetOptions.forRenderingByPageBreaks() 配置渲染以遵循电子表格的分页符。setRenderGridLines(true) 在 PDF 中启用网格线。setRenderHeadings(true) 在每页上包含列标题。

什么是将 Excel 转换为 PDF(在 Java 中)?

直接从 Java 代码将 Excel 工作簿(.xlsx)转换为 PDF 文档,可让您安全共享数据,保持精确的格式,并保证跨平台兼容性,而无需依赖 Microsoft Office。该转换完全在服务器上运行,生成只读的 PDF,镜像原始电子表格的布局,包括任何手动插入的分页符。

为什么使用 GroupDocs.Viewer for Java?

GroupDocs.Viewer 支持 70+ 文档格式——包括 Excel、Word、PowerPoint 以及 50 多种图像类型——并以高保真度渲染 PDF。它能够在不将整个文件加载到内存中的情况下处理数百页的工作簿,将峰值内存使用量降低高达 80 %,相较于朴素的加载方式。这些能力消除了自定义渲染逻辑的需求,显著加快开发周期。

前置条件

要成功实现 在 Java 中将 Excel 转换为 PDF,请确保您具备以下条件:

必需的库和依赖项

将 GroupDocs.Viewer for Java 的 Maven 构件添加到您的 pom.xml:

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

环境设置要求

  • Java Development Kit (JDK) 8 或更高版本。
  • IntelliJ IDEA、Eclipse 或 NetBeans 等 IDE。

知识前提

具备基本的 Java 编程经验并熟悉 Maven 项目会有所帮助。拥有 PDF 生成经验不是必需的。

设置 GroupDocs.Viewer for Java

基本初始化和设置

Viewer 加载文档并为渲染成各种输出格式做好准备。首先,创建一个 Viewer 实例并指向您的 Excel 文件。以下代码片段展示了入门所需的最小代码:

import com.groupdocs.viewer.Viewer;

try (Viewer viewer = new Viewer("path/to/your/file.xlsx")) {
    // Your rendering logic will be implemented here.
}

定义锚点: Viewer 是 GroupDocs.Viewer 的核心类,用于加载文档并为渲染成各种输出格式做好准备。

许可证获取

您可以从 GroupDocs 获取免费试用或临时许可证,以在不受功能限制的情况下测试产品。访问 GroupDocs 免费试用 页面了解获取许可证密钥的详细信息。

如何使用 GroupDocs.Viewer 在 Java 中将 Excel 转换为 PDF

加载 Excel 工作簿,配置渲染选项,并在仅三步内写出输出 PDF。此直接回答段落满足问题格式标题要求:实例化 Viewer,使用配置了分页渲染的 SpreadsheetOptions 设置 PdfViewOptions,然后调用 viewer.view()。

PdfViewOptions 指定 PDF 输出设置。SpreadsheetOptions 配置电子表格的渲染方式,包括分页符、网格线和标题。

按页面断点渲染电子表格

步骤实现

  1. 初始化 Viewer 和 Options – 使用输入文件设置 viewer,并定义输出 PDF 路径:
Path outputDirectory = Path.of("YOUR_OUTPUT_DIRECTORY");
Path outputFilePath = outputDirectory.resolve("output.pdf");

try (Viewer viewer = new Viewer("YOUR_DOCUMENT_DIRECTORY/Page_Breaks.xlsx")) {
    PdfViewOptions viewOptions = new PdfViewOptions(outputFilePath);
  1. 配置 Spreadsheet Options – 启用按分页符渲染、网格线和标题:
    // Set SpreadsheetOptions for rendering by page breaks.
    viewOptions.setSpreadsheetOptions(SpreadsheetOptions.forRenderingByPageBreaks());
    
    // Enable additional configurations like grid lines and headings.
    viewOptions.getSpreadsheetOptions().setRenderGridLines(true);
    viewOptions.getSpreadsheetOptions().setRenderHeadings(true);

    viewer.view(viewOptions);
} catch (Exception e) {
    e.printStackTrace();
}
  1. 关键参数说明
    • forRenderingByPageBreaks():使每个 PDF 页面对应电子表格的分页符。
    • setRenderGridLines(true):添加网格线以提升表格可读性。
    • setRenderHeadings(true):在每个打印页面上显示列标签。

故障排除提示

  • 确认工作簿实际包含分页符(打印布局 → 页面断点预览)。
  • 确保输入和输出文件路径对 Java 进程可访问。

配置电子表格渲染选项

自定义网格线和标题

除了分页符,您还可以微调 PDF 外观。SpreadsheetOptions 对象为您提供对视觉元素的细粒度控制。

import com.groupdocs.viewer.options.SpreadsheetOptions;

SpreadsheetOptions spreadsheetOptions = new SpreadsheetOptions();

// Enable grid lines and headings.
spreadsheetOptions.setRenderGridLines(true);
spreadsheetOptions.setRenderHeadings(true);
  • 网格线:保留表格的视觉结构,特别适用于财务数据。
  • 标题:在每页上强化列上下文,减少手动注释的需求。

常见问题

如果网格线或标题缺失,请再次确认在调用 viewer.view() 之前已将 SpreadsheetOptions 实例附加到 PdfViewOptions。

实际应用

以下是 在 Java 中将 Excel 转换为 PDF 的真实场景:

  1. 财务报告 – 将每月 Excel 报表转换为遵循分页符的 PDF,确保每个报表在新页面开始。
  2. 学术出版 – 为期刊提交渲染带有网格线和标题的研究数据表。
  3. 库存管理 – 生成保持原始布局的可打印库存表,便于现场扫描。

性能考虑

  • 优化资源使用:对于大于 200 MB 的工作簿,设置 JVM 堆 (-Xms2g -Xmx4g) 以避免内存溢出错误。
  • 批处理技巧:在多个文件之间复用同一个 Viewer 实例,可将初始化开销降低最高 30 %。

常见问题解答

问:在 PDF 中添加网格线的最简方法是什么?
答:在渲染前调用 viewOptions.getSpreadsheetOptions().setRenderGridLines(true)。

问:我可以只渲染特定的工作表吗?
答:可以——使用 SpreadsheetOptions.setWorksheetIndex(int index) 来定位特定工作表。
setWorksheetIndex(int index) 选择给定零基索引的工作表进行渲染。

问:GroupDocs.Viewer 是否支持受密码保护的 Excel 文件?
答:完全支持。在构造 Viewer 实例时传入密码即可。

问:如何确保标题出现在 PDF 中?
答:在 SpreadsheetOptions 中启用 setRenderHeadings(true)。

问:生产环境是否需要许可证?
答:是的,商业部署必须使用有效的 GroupDocs 许可证。

Last Updated: 2026-09-10
Tested With: GroupDocs.Viewer 25.2 for Java
Author: GroupDocs

相关教程