Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java itext pdf不';setHeaderRows时不显示表格_Java_Pdf_Itext_Tabular - Fatal编程技术网

Java itext pdf不';setHeaderRows时不显示表格

Java itext pdf不';setHeaderRows时不显示表格,java,pdf,itext,tabular,Java,Pdf,Itext,Tabular,我使用setHeaderRows(N)创建了一个具有N列标题的表,当我添加到表N-1记录并部署时,不会显示任何内容,也就是说,如果我创建了一个具有5列标题的表,并且只向该表添加了4条或更少的记录,则不会显示任何内容 示例代码 Document document = new Document(new Rectangle(605, 784), 28, 28, 42, 28); PdfWriter writer = PdfWriter.getInstance(document, new FileO

我使用setHeaderRows(N)创建了一个具有N列标题的表,当我添加到表N-1记录并部署时,不会显示任何内容,也就是说,如果我创建了一个具有5列标题的表,并且只向该表添加了4条或更少的记录,则不会显示任何内容

示例代码

Document document = new Document(new Rectangle(605, 784), 28, 28, 42, 28);
PdfWriter writer = PdfWriter.getInstance(document, new   FileOutputStream("/temp/tabla.pdf"));
documento.open();
// Create table
PdfPTable tabla = new PdfPTable(5);
tabla.setComplete(false);
tabla.setWidthPercentage(100);
tabla.getDefaultCell().setBackgroundColor(BaseColor.WHITE);
tabla.setHeaderRows(5);
// Add Header Rows 
for(int i=1; i<=5; i++)
{
  celda = new PdfPCell();
  Paragraph encabezado = new Paragraph("Header "+i);        
  celda.addElement(encabezado);
  celda.setGrayFill(0.8f);
  tabla.addCell(celda);
}              
// Add some cells               
for(int k=0; k<19; k++)
{
  celda = new PdfPCell();
  Paragraph contenido = new Paragraph("Cell "+k, helvetica11);
  celda.addElement(contenido);                      
  tabla.addCell(celda);
}
// In total add 4 rows

tabla.completeRow(); 
document.add(tabla);
document.close();
documentdocument=新文档(新矩形(605784)、28、28、42、28);
PdfWriter writer=PdfWriter.getInstance(文档,新文件输出流(“/temp/tabla.pdf”);
documento.open();
//创建表
PdfPTable tabla=新的PdfPTable(5);
表A.设置完成(错误);
表A.设置宽度百分比(100);
tabla.getDefaultCell().setBackgroundColor(BaseColor.WHITE);
表A.setHeaderRows(5);
//添加标题行

对于(int i=1;i您的表只包含标题行。表中没有实际数据

您应该更改:

tabla.setHeaderRows(5);
进入:


如果您在comment//Add some cells--Add some cells--Add some cells--这是唯一一个演示表中看到的代码,该表实际上是用sql查询中的数据填充的。当Add的行数>=5时,代码可以正常工作,但是任何sql查询都可以有效地获取较少的记录。在这种情况下,只需要一个行标题
tabla.setHeaderRows(1);