Создать PDF с OpenHTMLPdf и Primefaces - PullRequest
0 голосов
/ 04 апреля 2020

Я хочу создать PDF на основе Primefaces и OpenHTMLPDF:

У меня есть проблемы с конвертацией в мой личный org.primefaces.model.StreamedContent pdfTemplate;

Поэтому мне нужна помощь для последние 2 строки кода, я думаю:

    ExternalContext externalContext = facesContext.getExternalContext();
        String serverName = externalContext.getRequestServerName();
        String port = String.valueOf(externalContext.getRequestServerPort());
        String appName = externalContext.getRequestContextPath();
        String protocol = externalContext.getRequestScheme();
        String url = protocol + "://myurl.com";

        HttpServletResponse response = (HttpServletResponse) externalContext.getResponse();
        response.reset();
        response.setContentType("application/pdf");
        response.setHeader("Content-Disposition", "inline; filename=\"" + "pdfTemplate.pdf" + "\"");

        OutputStream browserStream = response.getOutputStream();

        PdfRendererBuilder builder = new PdfRendererBuilder();
        builder.useFastMode();
        builder.withUri(new URL(url).toString());
        builder.toStream(browserStream);
        builder.run();

        FileInputStream fis = new FileInputStream(new File("C:\\samplexxx.pdf"));
        pdfTemplate = new DefaultStreamedContent(fis, "application/pdf");

Нужно ли еще улучшение? Закрыть поток, например, et c? Должен ли я сделать что-то еще для PdfRendererBuilder (изменить настройки)? Большое спасибо

...