2013-12-18 9 views
0

У меня есть цикл для генерации данных XML и экспорта это PDF файловЭкспорт несколько PDF файлов с помощью Apache FOP - портлеты Liferay

@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();    
      } 
} 

Моей проблема это генерировать меня только 1 файл, а не несколько файлов. Спасибо за все

ответ

0

одним ответом вы можете вернуть только один файл. Вы можете создать зашифрованный файл, содержащий много PDF-файлов и вернуть его.

Смежные вопросы