Java iText Pdf Writer和PrimeFaces不刷新PDF内容

时间:2016-03-17 12:16:28

标签: jsf pdf caching primefaces itext

早上好!  我正在使用iText库创建一个pdf模板和Primefaces来显示Web应用程序上的内容。 当我运行第一个测试以查看是否所有库都已设置时,它正常显示。但后来我做了一些更改,似乎有些东西正在缓存我在内存中的第一个测试,它是唯一显示的东西,无论我做什么改变它保持相同的第一内容。我已经清理了我的netbeans项目,关闭了IDE并重新启动了计算机。

这是我在jsf页面上的标签:

<p:media value="#{atividadeController.pdfContent}" player="pdf" width="100%" height="700px"/>

这是我在托管bean中的方法,它是一个SessionScoped:

public String preparePdf()
{
try {             
    ByteArrayOutputStream output = new ByteArrayOutputStream();  

    Font fontHeader = new Font(Font.FontFamily.HELVETICA, 20, Font.BOLD);
    Font fontLine = new Font(Font.FontFamily.TIMES_ROMAN, 14);
    Font fontLineBold = new Font(Font.FontFamily.TIMES_ROMAN, 14, Font.BOLD);

    Document document = new Document();
    PdfWriter.getInstance(document, output);  
    document.open(); 

    //Writing document
    Chunk preface = new Chunk("GERAL", fontHeader);
    document.add(preface);  

    Calendar cal = Calendar.getInstance();
    cal.setTime(current.getData());
    int year = cal.get(Calendar.YEAR);
    int month = 1 + cal.get(Calendar.MONTH);
    int day = cal.get(Calendar.DAY_OF_MONTH);
    String dateStr = day+"/"+month+"/"+year;
    Paragraph dataAndHour = new Paragraph(dateStr, fontLine);
    document.add(dataAndHour);

    document.close();  
    pdfContent = new DefaultStreamedContent(new          ByteArrayInputStream(output.toByteArray()), "application/pdf");  

} catch (Exception e) {  
    e.printStackTrace();  
}  

  return "/views/view_atividade_pdf";
}

服务器日志上没有异常。 我真的得到任何帮助。提前致谢

0 个答案:

没有答案