我想用冰面打印报告,但可以找到适合它的方法。请指导我在我的项目中实施相同的工作。
答案 0 :(得分:2)
我使用了ice:outputResource标签让用户下载PDF报告文件。该标记的resource属性应指向实现com.icesoft.faces.context.Resource的托管bean属性。
答案 1 :(得分:2)
从 JOTN 获得想法后,我终于可以把它放在一起了。
我们可以使用outputresource标记链接到任何类型的资源,不仅是静态资源,还包括动态生成的文件(动态)。
让我们看看下面的例子:
JSF页面
..
..
<ice:outputResource id="outputResource1" attachment="false" fileName="File1.pdf" label="Click to download attachment" mimeType="application/pdf" rendered="true" resource="#{ReportParam01.reportfilers}" shared="false"/>
..
..
在这里,我观察到输出资源链接在实际生成文件之前不会出现(我是即时文件)。
让我们假设我们希望动态生成pdf文件。以下步骤将它链接到上面提到的outputrespurce。
托管Bean:
public class....{
....
// This is the resource linked to the <ice:outputresource> tag.
// Encapsulation has been done to link it.
Reource reportfilers;
....
public void createDocument() {
Document reportDoc = new Document(PageSize.A4);
File file1 = new File("Report.pdf");
PdfWriter.getInstance(reportDoc, new FileOutputStream(f));
// writing to pdf code continues
reportfilers = new FileResource(file1);
}
....
....
}
调用上述方法(如果没有例外)将使链接显示,用户可以下载该文件。