You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.10 18:48:03