在实际环境中测试
在生产中测试无水印。
随时随地为您服务。
本文将演示如何使用Java在PDF文档中创建表格。
使用Java程序在PDF文档中创建表格需要第三方库。有多种库可用于使用Java程序在PDF中创建表格。然而,这些库可能很昂贵,难以使用,或存在性能问题。因此,找到一个易于使用、对开发免费且性能良好的库可能会很棘手。
IronPDF是一个非常有用的PDF文件处理库。您可以通过点击了解更多关于IronPDF的信息。 官方页面本文涵盖以下步骤:
创建一个新项目
安装 IronPDF 库
创建一个新的 PDF 文档
为其创建表格
打开您喜欢的 IDE。本文推荐使用 IntelliJ,因此使用其他 IDE 创建新项目的步骤可能会有所不同。
打开 IntelliJ IDE,从顶部菜单栏中点击 File > New Project。命名您的项目,选择位置、语言、构建系统和 JDK,如下所示。
IntelliJ IDE 新建项目窗口
点击 Create Project 按钮,新项目将会被创建。
现在,在新创建的项目中安装 IronPDF 库。请继续以下步骤。
打开 pom.xml
文件,并在 properties 闭标签下添加以下 XML 内容。
<dependency>
<groupId>com.ironsoftware</groupId>
<artifactId>com.ironsoftware</artifactId>
<version>2024.9.1</version>
</dependency>
在终端中键入以下命令,然后按回车键。
```console
mvn install
这将把IronPDF安装到这个项目中。
添加以下导入语句以使用IronPDF类。
import com.ironsoftware.ironpdf.*;
首先,我们将学习在Java中创建简单的PDF文档。
以下示例代码将创建一个新的 PDF 文档。
public static void main(String[] args) throws IOException {
PdfDocument myPdf = PdfDocument.renderHtmlAsPdf("This is sample PDF file");
try {
myPdf.saveAs(Paths.get("html_saved.pdf") );
} catch (IOException e) {
throw new RuntimeException(e);
}
}
"(《世界人权宣言》) renderHtmlAsPdf
方法接受一个字符串作为参数,并将该字符串转换为一个PDF文档实例。 保存为
函数以文件路径作为参数,并将新创建的PDF文档保存到参数中指定的文件路径。
上面的代码生成一个PDF,如下图所示。
新PDF文件
以下代码将在 PDF 中创建一个表格。
public static void main(String[] args) throws IOException {
String tableContent = "<table>\n" +
" <tr>\n" +
" <th>Company</th>\n" +
" <th>Contact</th>\n" +
" <th>Country</th>\n" +
" </tr>\n" +
" <tr>\n" +
" <td>Alfreds Futterkiste</td>\n" +
" <td>Maria Anders</td>\n" +
" <td>Germany</td>\n" +
" </tr>\n" +
" <tr>\n" +
" <td>Centro comercial Moctezuma</td>\n" +
" <td>Francisco Chang</td>\n" +
" <td>Mexico</td>\n" +
" </tr>\n" +
" <tr>\n" +
" <td>Ernst Handel</td>\n" +
" <td>Roland Mendel</td>\n" +
" <td>Austria</td>\n" +
" </tr>\n" +
" <tr>\n" +
" <td>Island Trading</td>\n" +
" <td>Helen Bennett</td>\n" +
" <td>UK</td>\n" +
" </tr>\n" +
" <tr>\n" +
" <td>Laughing Bacchus Winecellars</td>\n" +
" <td>Yoshi Tannamuri</td>\n" +
" <td>Canada</td>\n" +
" </tr>\n" +
" <tr>\n" +
" <td>Magazzini Alimentari Riuniti</td>\n" +
" <td>Giovanni Rovelli</td>\n" +
" <td>Italy</td>\n" +
" </tr>\n" +
"</table>\n";
PdfDocument myPdf = PdfDocument.renderHtmlAsPdf("<h1>Example of adding table in a PDF</h1>" + tableContent);
try {
myPdf.saveAs(Paths.get("html_saved.pdf"));
} catch (IOException e) {
throw new RuntimeException(e);
}
}
上面的代码仅使用简单的HTML标签通过Java在PDF中创建一个表格。因此,要创建一个表格,您必须具备使用HTML标签的基本知识。几乎每个Java程序员都了解HTML,所以使用HTML标签创建新的表格和单元格非常容易。
该程序生成的PDF文件如下图所示:
包含来自HTML的表格的PDF文档
这是一个没有样式的简单表格。
现在让我们为这个表格添加一些样式,例如设置表格宽度、边距、布局、字体、背景颜色等。
以下示例代码将格式化我们的表格并为单元格添加样式。
public static void main(String[] args) throws IOException {
String htmlStyle = "<!DOCTYPE html>\n" +
"<html>\n" +
"<head>\n" +
"<style>\n" +
"table {\n" +
" font-family: arial, sans-serif;\n" +
" border-collapse: collapse;\n" +
" width: 100%;\n" +
"}\n" +
"\n" +
"td, th {\n" +
" border: 1px solid #dddddd;\n" +
" text-align: left;\n" +
" padding: 8px;\n" +
"}\n" +
"\n" +
"tr:nth-child(even) {\n" +
" background-color: #dddddd;\n" +
"}\n" +
"</style>\n" +
"</head>\n" +
"<body>";
String tableContent = "<table>\n" +
" <tr>\n" +
" <th>Company</th>\n" +
" <th>Contact</th>\n" +
" <th>Country</th>\n" +
" </tr>\n" +
" <tr>\n" +
" <td>Alfreds Futterkiste</td>\n" +
" <td>Maria Anders</td>\n" +
" <td>Germany</td>\n" +
" </tr>\n" +
" <tr>\n" +
" <td>Centro comercial Moctezuma</td>\n" +
" <td>Francisco Chang</td>\n" +
" <td>Mexico</td>\n" +
" </tr>\n" +
" <tr>\n" +
" <td>Ernst Handel</td>\n" +
" <td>Roland Mendel</td>\n" +
" <td>Austria</td>\n" +
" </tr>\n" +
" <tr>\n" +
" <td>Island Trading</td>\n" +
" <td>Helen Bennett</td>\n" +
" <td>UK</td>\n" +
" </tr>\n" +
" <tr>\n" +
" <td>Laughing Bacchus Winecellars</td>\n" +
" <td>Yoshi Tannamuri</td>\n" +
" <td>Canada</td>\n" +
" </tr>\n" +
" <tr>\n" +
" <td>Magazzini Alimentari Riuniti</td>\n" +
" <td>Giovanni Rovelli</td>\n" +
" <td>Italy</td>\n" +
" </tr>\n" +
"</table>\n</body>\n" +
"</html>";
PdfDocument myPdf = PdfDocument.renderHtmlAsPdf(htmlStyle + "Sample PDF" + tableContent);
try {
myPdf.saveAs(Paths.get("html_saved.pdf"));
} catch (IOException e) {
throw new RuntimeException(e);
}
}
添加的CSS用于在PDF中样式化表格。因此,使用CSS进行样式设置是非常高效的,可以根据需要进行样式设置。
以下是由该程序生成的PDF。
包含表格 HTML 和使用 CSS 样式的 PDF 文档
上面的代码看起来非常凌乱。但是,可以通过将所有 HTML 内容移动到一个 HTML 文件中,然后从该文件生成 PDF 来清理它。
创建一个新的 HTML 文件,并将所有 HTML 内容添加到该文件中,如下所示:
将以下代码添加到Java程序中。
PdfDocument myPdf = PdfDocument.renderHtmlFileAsPdf("Create_Table.html");
try {
myPdf.saveAs(Paths.get("html_saved.pdf") );
} catch (IOException e) {
throw new RuntimeException(e);
}
我们可以看到,使用HTML文档生成PDF是多么容易。如果您需要在Java中创建PDF文件,最简单的方法是创建一个带有内容和样式的单独HTML文档,然后仅用一行代码将HTML文档转换为PDF。
带有样式的最终PDF文档
本教程演示了如何使用Java在PDF文件中创建样式表,并学习将HTML文件转换为PDF文件。IronPDF for Java还提供了向PDF文件添加图像的功能。 拆分文件, 页眉和页脚, 数字签名,以及更多。 了解更多 有关这些功能和更多信息,请参阅 IronPDF 文档页面。