【发布时间】:2015-05-13 18:05:53
【问题描述】:
我正在制作 pdf 报告,我正在使用 Jsf、primefaces,实际上我可以在对话框中毫无问题地看到报告,但是当我下载 pdf 时,它无法显示。来自 adobe reader 的消息是文件已损坏。
这是我的代码:
ByteArrayOutputStream baos = new ByteArrayOutputStream();
try {
DynamicReports.report()
.setTemplate(Plantillas.reportTemplate)
.columns(stateColumn, statePorc)
.title(Templates.createTitleComponent2("Tittle"))
.summary(
DynamicReports.cht.barChart()
.setTitleFont(boldFont)
.setCategory(stateColumn)
.series(
DynamicReports.cht.serie(itemColumn).setSeries(stateColumn)
)
.setCategoryAxisFormat(DynamicReports.cht.axisFormat().setLabel("Label"))
)
.pageFooter(Templates.footerComponent)
.setDataSource(createDataSource3())
.toPdf(baos);
InputStream inputStream = new ByteArrayInputStream(baos.toByteArray());
barStream = new DefaultStreamedContent(inputStream, "application/pdf", "example.pdf");
setBarStream(barStream);
} catch (DRException e) {
e.printStackTrace();
}
【问题讨论】:
-
我没有看到任何与 jsf 或 PrimeFaces 相关的代码。请删除标签或添加相关代码。见How to Ask 和minimal reproducible example
标签: jsf primefaces pdf-generation bytearrayoutputstream dynamic-reports