Печать на льду - PullRequest
       23

Печать на льду

1 голос
/ 16 ноября 2010

Я хотел бы напечатать отчеты на льду, но мог бы найти какой-нибудь подходящий способ для этого.Пожалуйста, помогите мне реализовать то же самое в моем проекте.

Ответы [ 2 ]

2 голосов
/ 08 декабря 2010

после получения идеи от 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.

Управляемый компонент:

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

Вызов вышеупомянутого метода (если он не имеет исключений) сделаетссылка, чтобы показать, и пользователь может загрузить файл.

2 голосов
/ 30 ноября 2010

Я использовал тег ice: outputResource, чтобы позволить пользователю загрузить файл отчета в формате PDF.Атрибут ресурса этого тега должен указывать на свойство управляемого компонента, которое реализует com.icesoft.faces.context.Resource.

...