本文介绍如何使用spire.pdf for java来实现pdf表格跨页时重复显示表头行。
import com.spire.pdf.*;
import com.spire.pdf.graphics.*;
import com.spire.pdf.grid.pdfgrid;
import com.spire.pdf.grid.pdfgridrow;
import java.awt.*;
public class repeattableheaderrow {
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(1,1,1,1));
//添加表格列数
grid.getcolumns().add(3);
//添加表头行及表格数据
pdfgridrow[] pdfgridrows = grid.getheaders().add(1);
for (int i = 0; i < pdfgridrows.length; i )
{
pdfgridrows[i].getstyle().setfont(new pdftruetypefont(new font("arial", font.plain,12), true));//指定字体
pdfgridrows[i].getcells().get(0).setvalue("name");
pdfgridrows[i].getcells().get(1).setvalue("subject");
pdfgridrows[i].getcells().get(2).setvalue("scores");
pdfgridrows[i].getstyle().settextbrush(pdfbrushes.getred());
}
//设置重复表头(表格跨页时)
grid.setrepeatheader(true);
//添加数据到表格
for (int i = 0; i < 60; i )
{
pdfgridrow row = grid.getrows().add();
for (int j = 0; j < grid.getcolumns().getcount();j )
{
row.getcells().get(j).setvalue("(row " (i 1) ", column " (j 1) ")");
}
}
//在pdf页面绘制表格
grid.draw(page,0,40);
//保存文档
pdf.savetofile("result.pdf");
pdf.dispose();
}
}
效果如图: