iText 5.5.13中com.lowagie包Table与Cell组件替代方案咨询
iText 5.5.13版本适配实现方案
iText 5.x版本中,原com.lowagie.text.Table、com.lowagie.text.Cell的全部功能均可由com.itextpdf.text.pdf.PdfPTable、com.itextpdf.text.pdf.PdfPCell完全替代,以下是适配后的代码:
// 导入包替换为itextpdf官方包 import com.itextpdf.text.pdf.PdfPTable; import com.itextpdf.text.pdf.PdfPCell; PdfPCell titleCell = null; PdfPCell blankCell = null; PdfPCell noDataCell = null; // 1列表格构造逻辑保持一致 PdfPTable Outer_dataTable = new PdfPTable(1); // 原setWidth(100f)对应设置宽度百分比 Outer_dataTable.setWidthPercentage(100f); // 原setPadding对应设置默认单元格内边距 Outer_dataTable.setDefaultCellPadding(2); // 原setSpacing对应设置单元格横竖间距 Outer_dataTable.setHorizontalSpacing(2); Outer_dataTable.setVerticalSpacing(2); // 原setBorder(0)对应设置默认单元格无边框 Outer_dataTable.getDefaultCell().setBorder(0); // 原setTableFitsPage(false)对应允许表格跨页拆分 Outer_dataTable.setKeepTogether(false); // Start the new page document.newPage(); PdfPTable titleTable4 = pdfReportUtil.generatePDFTitle(currDate); // 支持直接传入PdfPTable作为单元格内容,逻辑和原Cell完全一致 titleCell = new PdfPCell(titleTable4); titleCell.setBorder(0); Outer_dataTable.addCell(titleCell);
核心API对应关系
- 原
Table(int columns)构造方法 →PdfPTable(int columns),入参均为表格列数 - 原
Table.setWidth(float)→PdfPTable.setWidthPercentage(float),设置表格占页面可用宽度的百分比 - 原
Table.setPadding(float)→PdfPTable.setDefaultCellPadding(float),为所有默认新增单元格统一设置内边距 - 原
Table.setSpacing(float)→PdfPTable.setHorizontalSpacing(float)+PdfPTable.setVerticalSpacing(float),设置单元格之间的横向、纵向间距 - 原
Table.setBorder(int)→PdfPTable.getDefaultCell().setBorder(int),为默认单元格统一设置边框,设为0即无边框 - 原
Table.setTableFitsPage(boolean)→PdfPTable.setKeepTogether(boolean),设为false即允许表格跨页拆分 - 原
Cell(Element)构造方法 →PdfPCell(Element),支持直接传入表格、段落等元素作为单元格内容
内容的提问来源于stack exchange,提问作者Guneet Kaur
相关产品推荐
相关产品推荐

