您现在的位置是:首页 > 正文

pdfPCell中设置单元格 setRowspan()与setColspan(),setPadding(),setBorder()

2023-12-01 05:00:14阅读 6

 打印pdf格式:打印的表格如下:

代码如下:


	public Forward exportBasicInfo() throws Exception {
		try{
			String id = this.getRequest().getParameter("id";
			String personId = this.getRequest().getParameter("personId"));
			if(StringUtil.isNotEmpty(id)&&StringUtil.isNotEmpty(personId)){
			PersonGradeInfo gradeInfo = persInfoManager.getGradeInfoById(id,personId);
			BaseFont bfChinese = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);
			com.lowagie.text.Document pdfDoc = new com.lowagie.text.Document(com.lowagie.text.PageSize.A4, 20, 20, 20, 20);
			Font title = new Font(bfChinese, 20, Font.BOLD);
			Font cellTitle = new Font(bfChinese, 11, Font.BOLD);
			Font cellContent = new Font(bfChinese, 11, Font.NORMAL);
			
			ByteArrayOutputStream baos = new ByteArrayOutputStream();
			PdfWriter.getInstance(pdfDoc, baos);
			pdfDoc.open();

			Paragraph docTitle = new Paragraph("基 本 信 息 表\n", title);
			docTitle.setAlignment(Element.ALIGN_CENTER);
			docTitle.setSpacingBefore(20);
			pdfDoc.add(docTitle);
			
			int size = 35;
			int contentSize = 30;
			
			int widths[] = { 12,12, 25, 21, 25, 25, 25, 15, 15 };
			PdfPTable baseTable = new PdfPTable(9);
			baseTable.setWidthPercentage(100);
			baseTable.setSpacingBefore(10);
			baseTable.setWidths(widths);
	
			
			PdfPCell baseTableCell = new PdfPCell(new Paragraph("姓名", cellTitle));
			baseTableCell.setHorizontalAlignment(com.lowagie.text.Element.ALIGN_CENTER);
			baseTableCell.setVerticalAlignment(com.lowagie.text.Element.ALIGN_MIDDLE);
			baseTableCell.setColspan(2);
			baseTableCell.setFixedHeight(size);
			baseTable.addCell(baseTableCell);

			baseTableCell = new PdfPCell(new Paragraph(gradeInfo.getPersonName() + "", cellContent));
			baseTableCell.setHorizontalAlignment(com.lowagie.text.Element.ALIGN_CENTER);
			baseTableCell.setVerticalAlignment(com.lowagie.text.Element.ALIGN_MIDDLE);
			baseTableCell.setColspan(1);
			baseTableCell.setFixedHeight(size);
			baseTable.addCell(baseTableCell);
			
			baseTableCell = new PdfPCell(new Paragraph("性别", cellTitle));
			baseTableCell.setHorizontalAlignment(com.lowagie.text.Element.ALIGN_CENTER);
			baseTableCell.setVerticalAlignment(com.lowagie.text.Element.ALIGN_MIDDLE);
			baseTableCell.setColspan(1);
			baseTableCell.setFixedHeight(size);
			baseTable.addCell(baseTableCell);

			baseTableCell = new PdfPCell(new Paragraph(sexMap.get(gradeInfo.getSex()) + "", cellContent));
			baseTableCell.setHorizontalAlignment(com.lowagie.text.Element.ALIGN_CENTER);
			baseTableCell.setVerticalAlignment(com.lowagie.text.Element.ALIGN_MIDDLE);
			baseTableCell.setColspan(1);
			baseTableCell.setFixedHeight(size);
			baseTable.addCell(baseTableCell);
			
			baseTableCell = new PdfPCell(new Paragraph("出生年月", cellTitle));
			baseTableCell.setHorizontalAlignment(com.lowagie.text.Element.ALIGN_CENTER);
			baseTableCell.setVerticalAlignment(com.lowagie.text.Element.ALIGN_MIDDLE);
			baseTableCell.setColspan(1);
			baseTableCell.setFixedHeight(size);
		
文章来源:https://blog.csdn.net/zpryan/article/details/39231481
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:https://www.dflian.com/184951.html

网站文章

  • java报错--org.springframework.beans.factory.BeanCreationException

    java报错--org.springframework.beans.factory.BeanCreationException

    org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'bookControll...

    2023-12-01 04:00:28
  • 溢出原理《转》

    其实所谓溢出原理:即是数据存储过程中超过数据结构所能容纳的实际长度都可成为溢出。我认为要浅显读懂该文必须了解计算机语言,计算机数制相关知识。如果要深入研究溢出则必须深入学习计算机程序设计相关知识,比如计算机数据结构,计算机编译原理,微机接口与组成原理等等。这里取前者,浅显谈谈计算机语言,计算机数制相关知识。一。浅谈计算机语言众所周知,计算机是0,1的二进制数字世界,所谓电子计算机乃是用电的低电平表

    2023-12-01 04:00:24
  • 局部性原理

    局部性原理

    cpu cache结构 内存>L3>L2>L1多级缓存 这四级的速度是越来越快 本质上内存是一个大的一维数组二维数组在内存中按照行排列,先放a【0】再放a【1】 第一种arr1的遍历...

    2023-12-01 04:00:21
  • ForkJoin看这篇就够了!

    求解出子问题的解,合并得到原问题的解。Fork/Join采用的是分而治之的基本思想,分而治之就是将一个复杂的任务,按照规定的阈值划分成多个简单的小任务,然后将这些小任务的结果再进行汇总返回,得到最终的...

    2023-12-01 04:00:16
  • js轮询导致服务器瘫痪_websocket连接太多导致服务器卡顿怎么办?一招轻松实现横向扩展...

    前言项目中有即时聊天的需求,经过调研我们采用了socket.io自己实现了一个聊天服务器。开始的一段时间由于用户不是很多,消息的发送接收都还算流畅,最近随着在线用户数量飙升,每过一段时间就会发生发送消...

    2023-12-01 04:00:13
  • TCP第四次挥手为什么要等待2MSL(最长报文段寿命,Maximum Segment Lifetime)

    TCP第四次挥手为什么要等待2MSL(最长报文段寿命,Maximum Segment Lifetime)

    当客户端进入TIME-WAIT状态的时候(也就是第四次挥手的时候),必须经过时间计数器设置的时间2MSL(最长报文段寿命)后,才能进入关闭状态,这时为什么呢??? 这最主要是因为两个理由: 1、为了保...

    2023-12-01 03:00:40
  • 性能调优9:根据WaitType诊断性能

    性能调优9:根据WaitType诊断性能

    SQL Server数据库接收到查询请求,从生成计划到执行计划的过程,等待次数和等待时间在一定程度上揭示了系统性能的压力,如果资源严重不足,就会成为性能的瓶颈。因此,对等待的监控非常有助于对系统性能进...

    2023-12-01 03:00:37
  • Date类型时间格式注解

    @ApiModelProperty(value = "生产日期")@DateTimeFormat(pattern = "yyyy-MM-dd") //后端-->前端@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") //前端-->后端private Date produceDate;

    2023-12-01 03:00:34
  • k8s认证

    RBAC可以设置subject:user,group和serviceaccount.user不是k8s管理的,可以通过具体的服务进行管理。对应k8s中就是secret。serviceaccount是通过k8s管理的。就是每个pod访问api server的权限。 api启动参数分为--client的各种crt,key kubelete各种证书,tls(api srever自己用于客...

    2023-12-01 03:00:30
  • Java框架篇(来自硅谷的面试题)

    Java框架篇(来自硅谷的面试题)

    Java框架篇(来自硅谷的面试题)

    2023-12-01 03:00:27