本文将介绍通过Java编程在PDF文档中添加表格的方法。添加表格时,可设置表格边框、单元格对齐方式、单元格背景色、单元格合并、插入图片、设置行高、列宽、字体、字号等。

使用工具:Free Spire.PDF for Java (免费版)

Jar文件获取及导入:

方法1通过官网下载jar文件包。下载后,解压文件,将lib文件夹下的Spire.Pdf.jar文件导入Java程序。

方法2通过maven仓库安装导入

Java 代码示例

import com.spire.pdf.*;
import com.spire.pdf.graphics.*;
import com.spire.pdf.grid.PdfGrid;
import java.awt.*; public class AddTable {
public static void main(String[]args){
//创建文档,添加PDF页面
PdfDocument pdf = new PdfDocument();
PdfPageBase page = pdf.getPages().add(); //创建PdfGrid对象
PdfGrid grid = new PdfGrid(); //设置单元格内边距、默认字体、字体颜色和默认背景色
grid.getStyle().setCellPadding(new PdfPaddings(3,3,3,3));
grid.getStyle().setFont(new PdfTrueTypeFont(new Font("Arial Unicode MS", Font.PLAIN,10), true));
grid.getStyle().setTextBrush(PdfBrushes.getBlack()); //创建PdfBorders对象,并设置颜色及粗细
PdfBorders borders= new PdfBorders();
borders.setAll(new PdfPen(PdfBrushes.getWhite(),1f)); //定义数据
String[] data = {"学校;Logo;院校代码;院校地址",
"四川大学;;10610;成都",
"西南交通大学;;10613;成都",
"电子科技大学;;10614;成都",
"西南石油大学;;10615;成都",
};
String[][] dataSource = new String[data.length][];
for (int i = 0; i < data.length; i++) {
dataSource[i] = data[i].split("[;]");
} //填充数据到表格
grid.setDataSource(dataSource); //在表格第2列填充图片并设置列宽
grid.getRows().get(1).getCells().get(1).getStyle().setBackgroundImage(PdfImage.fromFile("scdx.png"));
grid.getRows().get(2).getCells().get(1).getStyle().setBackgroundImage(PdfImage.fromFile("xnjtdx.png"));
grid.getRows().get(3).getCells().get(1).getStyle().setBackgroundImage(PdfImage.fromFile("dzkjdx.png"));
grid.getRows().get(4).getCells().get(1).getStyle().setBackgroundImage(PdfImage.fromFile("xnsydx.png"));
grid.getColumns().get(1).setWidth(100f); //纵向合并单元格
grid.getRows().get(1).getCells().get(3).setRowSpan(4); //设置表格
for (int i = 0; i < data.length ; i++) {
//设置每一行的高度
grid.getRows().get(i).setHeight(50f);
//设置第一列的字体
grid.getRows().get(i).getCells().get(0).getStyle().setFont(new PdfTrueTypeFont(new Font("Arial Unicode MS",Font.PLAIN,12),true)); for(int j =0;j<grid.getColumns().getCount();j++){
//设置所有单元格居中
grid.getRows().get(i).getCells().get(j).setStringFormat(new PdfStringFormat(PdfTextAlignment.Center,PdfVerticalAlignment.Middle));
//设置第一行的背景色
grid.getRows().get(0).getCells().get(j).getStyle().setBackgroundBrush(PdfBrushes.getBeige());
}
} //绘制表格到PDF
grid.draw(page,0,30); //保存文档
pdf.saveToFile("添加表格.pdf");
pdf.close();
}
}

表格添加效果:

Java 在PDF中添加表格的更多相关文章

  1. Java 在PDF 中添加超链接

    对特定元素添加超链接后,用户可以通过点击被链接的元素来激活这些链接,通常在被链接的元素下带有下划线或者以不同的颜色显示来进行区分.按照使用对象的不同,链接又可以分为:文本超链接,图像超链接,E-mai ...

  2. Java 读取PDF中的表格

    一.概述 本文以Java示例展示读取PDF中的表格的方法.这里导入Spire.PDF for Javah中的jar包,并使用其提供的相关及方法来实现获取表格中的文本内容.下表中整理了本次代码使用到的主 ...

  3. Java 在PDF中添加页面跳转按钮

    在PDF 中可通过按钮来添加动作跳转到指定页面,包括跳转到文档首页.文档末页.跳转到上一页.下一页.或跳转到指定页面等.下面将通过java代码来演示如何添加具有以上几种功能的按钮. 使用工具: Fre ...

  4. Java 在PDF中添加工具提示|ToolTip

    本文,将介绍如何通过Java后端程序代码在PDF中创建工具提示.添加工具提示后,当鼠标悬停在页面上的元素时,将显示工具提示内容. 导入jar包 本次程序中使用的是 Free Spire.PDF for ...

  5. C# 提取PDF中的表格

    本文介绍在C#程序中(附VB.NET代码)提取PDF中的表格的方法,调用Spire.PDF for .NET提供的提取表格的类以及方法等来获取表格单元格中的文本内容:代码内容中涉及到的主要类及方法归纳 ...

  6. C# 在Word中添加表格的方法

    表格是组织整理数据的一种重要手段,应在生活中的方方面面.在Word文档中将繁杂的文字表述内容表格化,能快速.直接地获取关键内容信息.那么,通过C#,我们也可以在Word文档中添加表格,这里将介绍两种不 ...

  7. C# 在PDF中添加墨迹注释Ink Annotation

    PDF中的墨迹注释(Ink Annotation),表现为徒手涂鸦式的形状:该类型的注释,可任意指定形状顶点的位置及个数,通过指定的顶点,程序将连接各点绘制成平滑的曲线.下面,通过C#程序代码介绍如何 ...

  8. java 如何在pdf中生成表格

    1.目标 在pdf中生成一个可变表头的表格,并向其中填充数据.通过泛型动态的生成表头,通过反射动态获取实体类(我这里是User)的get方法动态获得数据,从而达到动态生成表格. 每天生成一个文件夹存储 ...

  9. 170120、java 如何在pdf中生成表格

    1.目标 在pdf中生成一个可变表头的表格,并向其中填充数据.通过泛型动态的生成表头,通过反射动态获取实体类(我这里是User)的get方法动态获得数据,从而达到动态生成表格. 每天生成一个文件夹存储 ...

随机推荐

  1. Flink(六) —— 配置文件详解

    基础配置 #============================================================================== # Common #===== ...

  2. static及final知识点整理

    final在Java中是一个保留的关键字,可以声明成员变量.方法.类以及本地变量.一旦你将引用声明作final,你将不能改变这个引用了,编译器会检查代码,如果你试图将变量再次初始化的话,编译器会报编译 ...

  3. 将java list转换为js的数组

    var data = new Array();<%ArrayList list = new ArrayList();list.add(0);list.add(1);if(list!=null){ ...

  4. php的header方法

    http://www.cnblogs.com/fengzheng126/archive/2012/04/21/2461475.html

  5. python-django-fastdfs+Nginx的安装和配置_20191122

    python-django-fastdfs+Nginx的安装和配置 FastDFS文件系统 FastDFS文件系统简介: 是c语言编写的,是淘宝的架构师写的,存储淘宝的图片,后来开源了, fastDF ...

  6. HTTP-web服务器接收到client请求后的处理过程(很详细)

    1. 客户发起情况到服务器网卡: 2. 服务器网卡接受到请求后转交给内核处理: 3. 内核根据请求对应的套接字,将请求交给工作在用户空间的Web服务器进程 4. Web服务器进程根据用户请求,向内核进 ...

  7. 二评北科团委:“斩首计划”进行时,其用心也毒

    近日,在同学们和热心群众的共同努力下,各高校相继悬崖勒马,北大马会.北语新新青年.人大新光等进步社团均顺利注册.而北科团委倒行逆施,可谓一枝独秀,对于齐民学社的同学们的诉求,不仅不予以回应,反而采取表 ...

  8. LeetCode Day 6

    LeetCode0006 将一个给定字符串根据给定的行数,以从上往下.从左到右进行 Z 字形排列. 比如输入字符串为 "LEETCODEISHIRING" ,指定行数为 3 时,排 ...

  9. UFT安装目录简单介绍

    1.在安装的help目录下可查看UFT相关的文档 2.在samples/filght/app目录下可看到UFT自带的用作测试的软件

  10. 查看github仓库的地址