0

I have a loop for generating xml data, and exporting it's PDF files

@ResourceMapping("doPrint")

public void printFunction( @ModelAttribute(FILTER_STAMPA_MODEL_ATTRIBUTE)               ListManlevaRequestDTO filter, ResourceRequest request, ResourceResponse response ){     
    ByteArrayOutputStream out = new ByteArrayOutputStream();
    ListManlevaResponseDTO manlevaResponse=manlevaServiceFacade.listManleva(filter);        
        for(int i = 0; i<manlevaResponse.getResults().size();i++){
        String resultGeneration= FopManlevaUtil.createPdf(manlevaResponse.getResults().get(i), out, request);

            // Send content to Browser
                    HttpServletResponse hsr = PortalUtil.getHttpServletResponse(response);
                    if (hsr != null) {
                        hsr.setHeader("Pragma", "public");
                        hsr.setHeader("Expires", "0");
                        hsr.setHeader("Cache-Control", "must-revalidate, post-check=0, pre-check=0");
                        hsr.setHeader("Content-Disposition", String.format("attachment; filename=%s.%s",  resultGeneration, "pdf"));
                    }

                    // Prepare response
                    response.setContentType("application/pdf");

                    response.setContentLength(out.size());
                response.getPortletOutputStream().write(out.toByteArray());
                    out.flush();
                    out.close();                
                    response.getPortletOutputStream().flush();
                    response.getPortletOutputStream().close();              
            }   
}

My problem is it generate me only 1 file, not multiple files. Thanks for all

user3114642
  • 19
  • 1
  • 3

1 Answers1

0

by one response you can return only one file. You can create a zipped file included many pdfs and return it.

Mark
  • 17,887
  • 13
  • 66
  • 93