在创建表格时,如果表格内容出现跨页显示的时候,默认情况下该表格的表头不会在下一页显示,在阅读体验上不是很好。下面分享一个方法如何在表格跨页是显示表格的表头内容,这里只需要简单使用方法setRepeatHeader(true)即可。具体参考如下方法步骤。
1.导入Jar包
这里导入的是Free Spire.PDF for Java的jar包,下载后,解压文件,在Java程序中将解压路径下lib文件中的spire.pdf.jar导入Java程序。
2.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 < 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(); } }
—End—
相关推荐
本篇文章将深入探讨如何在Java中生成包含表格的PDF文件。 首先,我们需要引入支持PDF生成的库。在Java世界里,一个常用的库是iText,它是一个功能强大的开源库,专门用于处理PDF文档。描述中提到的"jar包都已经封装...
### Java后端生成PDF模板合并单元格表格案例详解 #### 概述 本文将详细介绍一个Java后端生成PDF模板,并在此基础上实现单元格合并功能的案例。案例的主要目的是展示如何在Java环境中创建复杂的表格结构,并将其导出...
总结来说,IText是Java中一个强大且灵活的PDF生成库,通过它可以轻松地创建包含文字、图片和表格的PDF文档。通过理解并实践提供的Demo,你将能够熟练地运用IText进行PDF的生成工作。记住,持续学习和更新库的版本以...
3. **PDF表格自动分页**: 在生成PDF文档时,如果一个表格太长以至于无法在一页内完全显示,iTextPDF可以自动将其分页。通过调整表格属性,如行高、列宽,以及设置分页策略,可以确保表格在每一页上都保持完整的结构...
iText页码、页眉、页脚,itext 的复杂表格实现、保留表头、表尾、根据需求生成不同的iText表格
在IT行业中,生成PDF文件是一...总之,iText是一个强大且灵活的PDF处理库,通过熟练掌握`PdfPTable`的使用,可以轻松创建各种复杂的PDF表格。结合实际项目需求和提供的文档资料,您可以进一步提升在PDF生成方面的技能。
通常,`Print05019Service.java`会包含业务逻辑,如获取数据源,`Print05019.java`则负责将这些数据转化为PDF表格。服务类可能会调用数据库查询或者处理其他数据源,然后将结果传递给视图层,即`Print05019.java`,...
3、PDF文件内容为表格,表格有表头 4、PDF文件内容支持中文,表格内容上下居中,左右居中或左对齐/右对齐 5、PDF列信息多寡不同,PDF采用页面宽度也能根据列信息按比例调整 6、PDF行信息超大时写入模式,不能引起...
添加了一个跨7列的单元格作为表头,设置了单元格的高度、填充、对齐方式等属性,确保表头的样式统一且美观。 #### 四、深入理解IText使用技巧 - **字体嵌入**:在生成具有多语言支持的PDF时,字体嵌入至关重要。...
目标是创建一个PDF表格,表头根据实体类的属性动态生成,数据则通过反射从实体类的get方法中获取。此外,生成的PDF文件会被存储在每日自动创建的文件夹中,文件夹名基于日期时间戳,而文件名则包含更精确的时间戳和...
在PDF文档中添加页码,特别是显示“第X页/共X页”,是提高文档可读性和导航便利性的重要功能。本篇文章将深入探讨如何在PDF中实现这一功能,主要使用iText库,这是一个强大的Java和.NET PDF处理库。 首先,我们需要...
Apache PDFBox是一个非常流行的开源Java库,它可以方便地创建、修改和显示PDF文档。另一个选择是iText,它提供了丰富的API,使得创建复杂的PDF文档变得简单。这里我们以iText为例进行讲解。 1. **安装iText库**:在...
要创建多级表头,可以先选定一级表头的范围,然后选择“插入”菜单中的“表”,在弹出的对话框中勾选“具有标题行”,并自定义表头。接着,对二级表头进行同样的操作,但要确保选择的范围只包括二级表头及其对应的列...
3. 添加表头:如果有的话,创建` PdfPCell`对象并设置其内容,然后添加到表格的第一行。 ```csharp PdfPCell headerCell = new PdfPCell(new Phrase("表头")); headerCell.Colspan = columns; headerCell....
这种方式可以设置表格行的高度。 2. 设置当前航数:`DefaultTableModel tableModel = (DefaultTableModel) table.getModel(); int n=5; tableModel.setRowCount(n);` 这种方式可以设置当前航数。 3. 取得表格行数...
在Java编程中,生成PDF文件是一项常见的任务,特别是在报表、文档和证书的自动化生成中。本实例"JAVA100例之实例39 生成PDF文件"将带你深入理解如何利用Java来创建PDF文档。PDF(Portable Document Format)是一种...
iText7 原生方法制作带斜线表格
5. **运行时动态生成**:在Java代码中,通过JasperFillManager填充报表并设置适当的参数,使报表在运行时根据数据动态生成表头。 6. **测试和优化**:生成报表后,进行详细测试,确保表头在不同数据集和屏幕尺寸下...
表头的设置也十分方便,可以简单地区分表格中的标题行和数据行。开发者还可以在表格中插入各种格式的数据,比如文本、图片等,并且可以控制单元格的合并。 接下来是一维条形码的生成。iText支持多种条码生成标准,...
3. **表格跨行问题**: 当处理HTML中的表格时,有时需要实现跨行效果。flying-saucer可能不直接支持CSS的`rowspan`和`colspan`属性。一种解决方案是利用CSS的伪元素和绝对定位来模拟跨行效果。另一种方法是调整HTML...