Problemas para gerar pdf

na minha aplicação web, tenho um botão que consulta o banco e gera uma lista que o cliente pode fazer o download em pdf, segue o código abaixo:

String pdf = "aqui entra o texto";
		FacesContext faces = FacesContext.getCurrentInstance();   
        HttpServletResponse response = (HttpServletResponse) faces.getExternalContext().getResponse();   
        response.setContentType("application/pdf");   
        response.setContentLength(pdf.getBytes().length);	        
        response.setHeader("Content-disposition", "attachment; filename=lista.pdf");   
        response.getOutputStream().write(pdf.getBytes()); 
        response.getOutputStream().flush(); 
        faces.renderResponse();     
        faces.responseComplete();

quando clico no botão, aparece o link pra abrir o fazer o download, no entanto o pdf é aberto vazio com uma mensagem que o conteudo não é compativel.
Alguém sabe como posso resolver esse problema?