本篇内容主要讲解“Java怎么设置PDF跨页表格重复显示表头行”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java怎么设置PDF跨页表格重复显示表头行”吧!
前言
1.导入Jar包
2.Java代码
在创建表格时,如果表格内容出现跨页显示的时候,默认情况下该表格的表头不会在下一页显示,在阅读体验上不是很好。下面分享一个方法如何在表格跨页是显示表格的表头内容,这里只需要简单使用方法 grid.setRepeatHeader(true);即可。
具体参考如下方法步骤。
这里导入的是Free Spire.PDF for Java的jar包,Spire.PDF for Java 支持的功能非常丰富,例如 PDF 文档安全性设置,提取文本和图片,合并和拆分 PDF,画文本、图片、形状、条形码到 PDF,打印 PDF,创建和填充表单,添加和删除层,重叠 PDF 页面,添加文本/图片水印,添加、更新、删除 PDF 书签,添加表格,压缩 PDF 文档等。此外,Spire.PDF for Java 还支持将 PDF 文档高质量地转换为 XPS、图片、SVG、Word、HTML 和 PDF/A 格式,以及将 XPS 文档高质量地转换为 PDF 格式。
下载后,解压文件,在Java程序中将解压路径下lib文件中的spire.pdf.jar导入Java程序。
导入结果:
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());
/*pdfGridRows[i].getStyle().setFont(new PdfCjkStandardFont(PdfCjkFontFamily.Hanyang_Systems_Gothic_Medium, 14f));//绘制中日韩字体的方法
pdfGridRows[i].getCells().get(0).setValue("이 름");
pdfGridRows[i].getCells().get(1).setValue("科 目") ;
pdfGridRows[i].getCells().get(2).setValue("ほしとり");
pdfGridRows[i].getStyle().setTextBrush(PdfBrushes.getBlue());*/
}
//设置重复表头(表格跨页时)
grid.setRepeatHeader(true);
//添加数据到表格
for (int i = 0; i < 80; 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,0);
//保存文档
pdf.saveToFile("Result.pdf");
pdf.dispose();
}
}
不同页面重复显示表头行效果如图,这里分别展示了不同字体设置的跨页表头效果:
到此,相信大家对“Java怎么设置PDF跨页表格重复显示表头行”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。