Pessoal já tentei de todas as formas, mas não deu certo. Quando vou gerar o meu pdf ele escreve no navegador um bocado de caracteres especiais, parece que ele tenta abrir o arquivo direto no navegador.
[code]
byte[] arquivoBytes = ArquivoUtil.getBytesFromFile(file);
HttpServletResponse response = (HttpServletResponse)extCtx.getResponse();
response.setContentType("application/pdf");
//response.setContentType("application/octet-stream");
//response.setContentType("application/download");
response.addHeader("Content-disposition", "inline; filename=\"" +nomeArquivo+".pdf");
//response.addHeader(“Content-disposition”, “attachment; filename=”" + nomeArquivo + “”");
ServletOutputStream os = response.getOutputStream();
os.write(arquivoBytes);
os.flush();
os.close();
facesContext.responseComplete();[/code]
vou fazer uma pergunta idiota, nao leve a mal.
Vc tem leitor de pdf na maquina neh!?
Eu uso assim:
FacesContext facesContext = FacesContext.getCurrentInstance();
HttpServletResponse response = (HttpServletResponse) facesContext.getExternalContext().getResponse();
OutputStream os = null;
File fileGerado= new File("seuArquivoPdf");
byte[] arquivoGerado= recuperaFileEmByte(fileGerado);
try {
os = response.getOutputStream();
response.setContentType("application/pdf");
response.setContentLength(arquivoGerado.length);
response.setHeader("Content-disposition","attachment; filename="+fileGerado.getName());
os.write(arquivoGerado);
} catch (Exception e) {
e.printStackTrace();
} finally{
try {
if(os != null){
os.flush();
os.close();
}
facesContext.responseComplete();
} catch (IOException e) {
e.printStackTrace();
}
}
}
private byte[] recuperaFileEmByte(File inFile) {
InputStream is = null;
byte[] buffer = null;
try {
is = new FileInputStream(inFile);
buffer = new byte[is.available()];
is.read(buffer);
is.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return buffer;
}
testa la 
ArthurTurtle, fiz da forma que me falou. Mas continua aparecendo os caracteres especiais.
Tenho leitor de pdf instalado mauricioadl. Inclusive os pdf estão gerando normalmente no diretório.