Montei um relatório que é exportado para pdf, tudo estava indo bem até ter que usar Itext para inserir uma imagem no PDF, pois bem fiz tudo certinho como diziam pra fazer, porém começou a dar um erro no HTML, dizendo que algumas tags estavam sem seu fechamento, varri todo html encontrei realmente alguns erros de tags e as fechei. Porém agora ele retorna o erro:
java.lang.IllegalArgumentException: The number of columns in PdfPTable constructor must be greater than zero.
Acho que tem algo a ver com que o HTML não esta sendo preenchido, alguma tag deve estar sendo fechada deixando de fora o conteúdo e ele esta vindo vazio… seria isso mesmo?!
Tentei encontrar onde errei e não consegui, olhei tag por tag para verificar se estava abrindo e fechando, usei até um site que analise erros no html e não encontrei, alguém poderia me ajudar encontrar onde esta o erro? Segue o trecho HTML + JAVA
String htmlHead = "<html>" + "<thead>" +
"<STYLE TYPE=\"text/css\">" + "TD{font-family: Arial; font-size: 10pt;}" + "TH{font-family: Arial; font-size: 12pt;}" + "</STYLE>" +
"</thead>" + "<tbody>" + "<table border=\"0\" width=\"600\" cellpadding=\"15\" cellspacing=\"0\">";
}String htmlBody =
"<h7> TITULO1+
"<hr>" +
"<th align=\"center\">Titulo</th>" + "<br />"
+ "<table border=\"1\" width=\"600\" cellspacing=\"0\">" + "<tr>" + "<td><b>Elaborado por: </b>"
+ info.getElaboratedBy()
+ "</td>"
+ "<td colspan=\"2\"><b>Nº: </b>"
+ info.getReportRegister()
+ "</td>"
+ "<td><b>Área/Diretoria: </b>Produção/Operações</td>"
+ "</tr>"
+ "<tr>"
+ "<td colspan=\"2\"><b>Responsável: </b>"
+ info.getResponsibleReport()
+ "</td>"
+ "<td><b>Data: </b>"
+ dayDate
+ "</td>"
+ "<td width=\"50\"><b>Rev.: </b>"
+ info.getReview()
+ "</td>"
+ "</tr>"
+ "<tr>"
+ "<td colspan=\"2\"><b>Data de Criação do Laudo: </b>"
+ info.getDtCreation()
+ "</td>"
+ "</tr>"
+ "</table>"
+ "<br />"
+ "<table border=\"0\" cellspacing=\"0\">"
+ "<tr>"
+ "<th>DADOS DO MATERIAL</th>"
+ "</tr>"
+ "</table>"
+ "<table border=\"1\" width=\"600\" cellspacing=\"0\">"
+ "<tr>"
+ "<td width=\"465\"><b>Descrição: </b>"
+ info.getProdDescCAS()
+ "</td>"
+ "</tr>"
+ "</table>"
+ "<br />"
+ "<table border=\"0\" cellspacing=\"0\">"
+ "<tr>"
+ "<th>DADOS DO RECEBIMENTO</th>"
+ "</tr>"
+ "</table>"
+ "<table border=\"1\" width=\"600\" cellspacing=\"0\">"
+ "<tr>"
+ "<td width=\"300\"><b>Fornecedor: </b>"
+ info.getProvider()
+ "</td>"
+ "<td width=\"170\"><b>Recebido em: </b>"
+ purchaseOrderDate
+ "</td>"
+ "<td width=\"70\"><b>NF: </b>"
+ info.getNumberNF()
+ "</td>"
+ "<td><b>Data NF: </b>"
+ info.getDtNF()
+ "</td>"
+ "</tr>"
+ "<tr>"
+ "<td align=\"center\" colspan=\"4\"><b>Pedido de Compra</b></td>"
+ "</tr>"
+ "<tr>"
+ "<td width=\"260\"><b>Número: </b>"
+ purchaseOrder
+ "</td>"
+ "<td width=\"260\"><b>Qtde:</b> "
+ info.getQuantity()
+ "</td>"
+ "</tr>"
+ "</table>"
+ "<br />"
+ "<table border=\"0\" cellspacing=\"0\">"
+ "<tr>"
+ "<th>DADOS DOS TESTES</th>"
+ "</tr>"
+ "</table>"
+ "<table border=\"1\" width=\"600\" cellspacing=\"0\">"
+ "<tr>"
+ "<td><b>Data de Início: </b>"
+ dtInicial
+ "</td>"
+ "<td><b>Nome do Operador: </b>"
+ info.getOperatorWI()
+ "</td>"
+ "</tr>"
+ "</table>"
+ "<br />"
+ "<table border=\"0\" cellspacing=\"0\">"
+ "<tr>"
+ "<th>RESULTADOS</th>"
+ "</tr>"
+ "</table>"
+ "<table border=\"1\" width=\"600\" cellspacing=\"0\">"
+ "<tr>"
+ "<td align=\"center\" rowspan=\"2\"><b> </b></td>"
+ "<td align=\"center\" colspan=\"4\"><b>Quantidade de Peças</b></td>"
+ "</tr>"
+ "<tr>"
+ "<td align=\"center\"><b>Conformes</b></td>"
+ "<td align=\"center\"><b>Não Conformes</b></td>"
+ "<td align=\"center\"><b>Total</b></td>"
+ "<td align=\"center\"><b>Qtde. Amostragem</b></td>"
+ "</tr>"
+ "<tr>"
+ "<td align=\"center\">"
+ info.getDtWIDev()
+ "</td>"
+ "<td align=\"center\">"
+ conformConcat
+ "</td>"
+ "<td align=\"center\">"
+ notConformConcat
+ "</td>"
+ "<td align=\"center\">"
+ info.getTotality()
+ "</td>"
+ "<td align=\"center\">"
+ sampleQtt
+ "</td>"
+ "</tr>"
+ "<tr>"
+ "<td colspan=\"5\"><b>1. Laudo</b>(Informação da quantidade de peças não conformes por tipo de defeito)</td>"
+ "</tr>"
+ "<td colspan=\"5\">"
+ info.getDescConclusion()
+ "</td>"
+ "<table border=\"1\" width=\"600\" height=\"250\" cellspacing=\"0\">"
+ "<tr>"
+ "<td colspan=\"5\">"
+ createImgTag(info.getParamRecQltRepId())
+ "</td>"
+ "</tr>"
+ "</table>"
+ "<tr>"
+ "<td colspan=\"5\"><b>Data de Devolução ao Estoque: </b>"
+ info.getDtWIDev()
+ "</td>"
+ "</tr>"
+ "<tr>"
+ "<td colspan=\"5\"><b>Responsável pela Conclusão: </b>"
+ info.getResponsibleConclusion()
+ "</td>"
+ "</tr>"
+ "</table>"
+ "<br />"
+ "<table border=\"1\" width=\"600\" cellspacing=\"0\">"
+ "<tr>"
+ "<td colspan=\"4\"><b>2. Correções</b></td>"
+ "</tr>"
+ "<tr>"
+ "<td colspan=\"4\">"
+ info.getCorrectionsConclusion()
+ "</td>"
+ "</tr>"
+ "</table>"
+ "<br />"
+ "<table border=\"1\" width=\"600\" cellspacing=\"0\">"
+ "<tr>"
+ "<td colspan=\"3\"><b>3. Parecer Final</b></td>"
+ "</tr>"
+ "<tr>"
+ "<td align=\"center\" width=\"230\">APROVADO ("
+ approvated
+ ")</td>"
+ "<td align=\"center\" width=\"230\">REPROVADO ("
+ rejected
+ ")</td>"
+ "<td align=\"center\" width=\"230\">APROVADO CONDICIONALMENTE ("
+ partiallyApproved
+ ")</td>" + "</tr>" + "</table>" + "<br />" + "</hr>" + "</h7>" + "</table>" + "</tbody>" + "</html>" ;
return htmlHead + htmlImage + htmlBody;