用冰面打印

时间:2010-11-16 05:26:58

标签: printing icefaces

我想用冰面打印报告,但可以找到适合它的方法。请指导我在我的项目中实施相同的工作。

2 个答案:

答案 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);
     }
     ....
     ....
}

调用上述方法(如果没有例外)将使链接显示,用户可以下载该文件。