Ajuda com arquivo POI (converter para pdf)

Boa tarde a todos…

Seguinte consegui gerar um arquivo excel de forma dinâmica que foi um sufoco, com a api POI código abaixo


	public HSSFWorkbook geraExcel (final List<List>listao) {
		
		      HSSFWorkbook wb = new HSSFWorkbook();

	          HSSFSheet sheet1 = wb.createSheet("Planilha Um");
	          DtoNulo retorno = new DtoNulo();
		
		try {
			
			  int num_col = listao.get(0).size();
			 
			  int num_lin = listao.size();
	
		            for (int indice = 0 ; indice < num_lin ; indice ++ ) {
		            	
		            	HSSFRow row = sheet1.createRow(indice);
		            	
		            	for (int indice2 = 0; indice2 < num_col; indice2++ ) {
		            	
		            		 if (listao.get(indice).get(indice2) == null) {

			            	    	row.createCell(indice2).setCellValue("null");
			            	    
			            	     }else if (listao.get(0).get(0).getClass().equals(retorno.getClass())) {
			            	    	 
			            	    	     row.createCell(indice2).setCellValue("null");
			            	    	 
			            	           }else {
								         
								            row.createCell(indice2).setCellValue(listao.get(indice).get(indice2).toString());
								  
								          }
		            	    
		            	}
		            }	
			
			
		}catch (Throwable th) {
			
	
			
		}
		
		
		return wb ;
	
	}
	
	
	
	
	
	
	 @SuppressWarnings("null")
	public String report() throws UnisException {
			AjaxResponse wresp = null;
			try {
		
	            
				
				 AjaxRequest xreq = (AjaxRequest) ActionContext.getContext().get(AjaxRequest.KEY);

				
				 String sql =   xreq.getHttpRequest().getParameter("sql").toString();
				 
				 
				  List<List > lista = exportacaoDadosLogic.listaComSql(sql);
				//insert into tpt144 ( cdempgrp, cdespecie, dsespecie, dtgrv, dtatlz) values ('6058','77','teste sql222',null,null) 
				 
				 
				  DtoNulo erro = new DtoNulo();
					 
					 HSSFWorkbook wbs = geraExcel(lista); 
					 
					 HttpServletResponse response = ServletActionContext.getResponse();
					 String nomeArquivo = "Resultado_SQL";
					

					 response.setHeader("Content-Disposition", "attachment; filename=" + nomeArquivo + ".ods");
	               
					
						
					ServletOutputStream outputStream = response.getOutputStream();   
					outputStream.write(wbs.getBytes());      
					outputStream.flush();   
					outputStream.close();  
					 
   
			            wresp = AjaxResponse.SUCCESS();

			            
				
			} catch (Exception ex) {
				wresp = AjaxResponse.ERROR();
				wresp.setMessage(ex.getMessage());
				LOGGER.error("Report", ex);
			}

			return wresp.getResult();
		}
	 
	 

Minha dúvida é a seguinte , como é um sistema web, o usuário também pode querer que esse arquivo seja salvo como pdf, então o problema é : Tem como converter um POI para pdf ? Caso contrario terei que gerar todo o relatório novamente…

Pesquisei sobre o assunto , mas não encontrei nada sobre isso…bom agradeço por qualquer ajuda…

Seguindo a documentação o POI é so para formatos M$ aparentemente não tem suporte pra PDF

Pois é eu sei , mas estou procurando alternativas como essas que estou pesquisando agora:

FOP : http://xmlgraphics.apache.org/fop/

ou

officetools , essa seria bom, mas é pago …infelizmente :cry: