Bom dia caros amigos
Estou com um problema na hora gerar um pdf através do método Hhml2Pdf, se eu criar o arquivo em disco funciona, se eu usar o método desta forma:
public void gerarRelatorio() throws Exception {
FacesContext cont = FacesContext.getCurrentInstance();
HttpServletResponse response = (HttpServletResponse) cont.getExternalContext().getResponse();
String hora = new SimpleDateFormat("dd-MM-yyyy_HHmm").format(new Date());
response.setContentType("application/pdf");
response.setHeader("Content-Disposition", " attachment; filename=\"solicitacao_"+hora+".pdf\"");
String relatorio = "Escrevendo meu primeiro Pdf WEB";
OutputStream os = response.getOutputStream();
Html2Pdf.convert(relatorio, os);
os.close();
}
Segue aqui a classe Html2Pdf:
import java.io.ByteArrayInputStream;
import java.io.InputStream;
import java.io.OutputStream;
import org.w3c.dom.Document;
import org.w3c.tidy.Tidy;
import org.xhtmlrenderer.pdf.ITextRenderer;
import com.lowagie.text.DocumentException;
public class Html2Pdf {
public static void convert(String input, OutputStream out) throws DocumentException{
convert(new ByteArrayInputStream(input.getBytes()), out);
}
public static void convert(InputStream input, OutputStream out) throws DocumentException{
Tidy tidy = new Tidy();
Document doc = tidy.parseDOM(input, null);
ITextRenderer renderer = new ITextRenderer();
renderer.setDocument(doc, null);
renderer.layout();
renderer.createPDF(out);
}
}
Ele imprime um pdf com os dados da tela onde tem o botão, abre para fazer o download e não e depois não abre com o arquivo, não criando um pdf com o texto “Escrevendo o meu primeiro Pdf Web”, já tentei fazer este relatório com o iReport não deu certo, tentei com iText e tb não deu certo, será que alguém pode me ajudar?
Desde já agradeço.