Java在PDF中添加表格過程詳解
前言
本文將介紹通過Java編程在PDF文檔中添加表格的方法。添加表格時,可設置表格邊框、單元格對齊方式、單元格背景色、單元格合并、插入圖片、設置行高、列寬、字體、字號等。
使用工具:Free Spire.PDF for Java (免費版)
Jar文件獲取及導入:
- 方法1:通過官網下載jar文件包。下載后,解壓文件,將lib文件夾下的Spire.Pdf.jar文件導入Java程序。
- 方法2:通過maven倉庫安裝導入。
Java 代碼示例
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){
//創(chuàng)建文檔,添加PDF頁面
PdfDocument pdf = new PdfDocument();
PdfPageBase page = pdf.getPages().add();
//創(chuàng)建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());
//創(chuàng)建PdfBorders對象,并設置顏色及粗細
PdfBorders borders= new PdfBorders();
borders.setAll(new PdfPen(PdfBrushes.getWhite(),1f));
//定義數(shù)據
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("[;]");
}
//填充數(shù)據到表格
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實現(xiàn)批量導入Excel表格數(shù)據到數(shù)據庫
- Java使用itext5實現(xiàn)PDF表格文檔導出
- JAVA圖形界面(GUI)之表格的示例代碼
- java 如何往已經存在的excel表格里面追加數(shù)據的方法
- Java Swing組件編程之JTable表格用法實例詳解
- Java實現(xiàn)批量導入excel表格數(shù)據到數(shù)據庫中的方法
- Java實現(xiàn)excel表格轉成json的方法
- Java 使用POI生成帶聯(lián)動下拉框的excel表格實例代碼
- Java對Excel表格的上傳和下載處理方法
- Java easyui樹形表格TreeGrid的實現(xiàn)代碼
- Java生成表格圖片的實例代碼
相關文章
基于Java中對域和靜態(tài)方法的訪問不具有多態(tài)性(實例講解)
下面小編就為大家?guī)硪黄贘ava中對域和靜態(tài)方法的訪問不具有多態(tài)性(實例講解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-10-10
詳解Spring Cloud 斷路器集群監(jiān)控(Turbine)
這篇文章主要介紹了詳解Spring Cloud 斷路器集群監(jiān)控(Turbine),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-05-05
springboot如何獲取相對路徑文件夾下靜態(tài)資源的方法
這篇文章主要介紹了springboot如何獲取相對路徑文件夾下靜態(tài)資源的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-05-05
基于Springboot2.3訪問本地路徑下靜態(tài)資源的方法(解決報錯:Not allowed to load local
這篇文章主要介紹了基于Springboot2.3訪問本地路徑下靜態(tài)資源的方法(解決報錯:Not allowed to load local resource),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-08-08
Java面向對象編程之繼承和多態(tài)以及包的解析與使用范例
繼承就是可以直接使用前輩的屬性和方法。自然界如果沒有繼承,那一切都是處于混沌狀態(tài)。多態(tài)是同一個行為具有多個不同表現(xiàn)形式或形態(tài)的能力。多態(tài)就是同一個接口,使用不同的實例而執(zhí)行不同操作2021-11-11
解決spring-boot-maven-plugin報紅的問題
這篇文章主要給大家介紹一下如何解決spring-boot-maven-plugin報紅的問題,文中通過圖文講解的非常詳細,具有一定的參考價值,需要的朋友可以參考下2023-08-08

