Как показать распечатываемый PDF-файл с загрузчиком в браузере в JSF? - PullRequest
0 голосов
/ 07 ноября 2019

Я реализовал механизм для генерации и загрузки PDF на моей странице JSF с использованием метода внутри моего компонента. Вот компонент для выполнения этой операции:

   <p:commandButton title="Stampa" icon="ui-icon-print"
                                ajax="false" onclick="PrimeFaces.monitorDownload(start, stop);"
                                rendered="#{productionOrdersView.showMenuOptions()}"
                                target="_blank"
                                actionListener="#{productionOrdersView.print(true)}">
                            </p:commandButton>

И этот метод в bean-компоненте:

public StreamedContent generateSelectedPDFFile() {
    String fileName = "Bolla_" + selected.getOrderNumber();
    InputStream stream = new ByteArrayInputStream(
            new GenerateStatusPDF(companyInfo).generate(selected).toByteArray());
    StreamedContent file = new DefaultStreamedContent(stream, "application/pdf", fileName + ".pdf");
    return file;
}

Я хочу добиться этого шаблона:

  1. Щелчок пользователя
  2. Отображается диалоговое окно с процессом загрузки
  3. Бин загружает данные
  4. Завершение создания PDF
  5. Диалог закрывается
  6. Документ для печати помещен в новую вкладку

Как этого добиться?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...