Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/351.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表格单元格中_Java_Pdf_Itext_Cell - Fatal编程技术网

Java 如何将条件数据添加到itext表格单元格中

Java 如何将条件数据添加到itext表格单元格中,java,pdf,itext,cell,Java,Pdf,Itext,Cell,我试图将从JSON文件解析的数据输入到表中。我在Eclipse上使用Java和itext外部jar,因为我试图输出PDF。 要输入的数据是有条件的 table.addCell("Annual Leave*"); if(ltype=="annual"){ table.addCell(from1); table.addCell(to1);

我试图将从JSON文件解析的数据输入到表中。我在Eclipse上使用Java和itext外部jar,因为我试图输出PDF。 要输入的数据是有条件的

                  table.addCell("Annual Leave*"); 
                  if(ltype=="annual"){
                  table.addCell(from1);
                  table.addCell(to1);
                  table.addCell(n);
                  }
                  else{
                     table.addCell("");
                      table.addCell("");
                      table.addCell("");
                  }

                  table.addCell("Sick Leave(certified)**");
                  if(ltype=="sick_leave_cert"){
                      table.addCell(from1);
                      table.addCell(to1);
                      table.addCell(n);
                  }

这就是我一直试图做的。但是,我的最终PDF文档有一个空表。

这个问题实际上与itext无关,它是关于Java字符串处理的:您可以这样比较字符串:

if(ltype=="annual")
...
if(ltype=="sick_leave_cert")
在Java中,字符串类型不是基元类型。因此,使用==进行字符串比较会检查两侧是否解析相同的字符串对象,而不是检查两侧的字符串是否在序列中表示相同的字符

要检查两个字符串是否表示相同的字符序列,请改用equals方法:

if("annual".equals(ltype))
...
if("sick_leave_cert".equals(ltype))

您没有告诉我们您为该表定义了多少列,而且看起来您使用的是旧的iText版本当前版本是iText 7.1.3。该表有4列5行。是的,我用的是7.0.7,我想知道语法是否正确。因为当我没有if/else条件时,数据会被放入单元格中。否则也不会发生同样的情况。您有一个包含4列的表,如果不满足条件,您只能向其中添加3个单元格。在这种情况下,表中没有任何完整的行。因此,表格没有绘制。您至少需要一个完整的行。换句话说:将列数更改为3,或者添加一个额外的单元格。我有4列。其中1个单元格有固定数据。所以我没有在代码片段中显示它。因此,如果你想要一个有用的答案,你应该提供一个答案。通过省略代码中的一行,您将收到一个无用的答案。现在我觉得给你一个毫无用处的回答很愚蠢,而我不应该受到责备,因为你没有给我所有需要的信息。这样一来,你就失去了我再次讨论你问题的机会。