Ler Arquivo PDF do disco e abrir para visualização no Browser

Olá Galera, e aí, tudo bem com todo mundo?
Como vocês estão?!

Estou com um problema aqui e gostaria da ajuda de vocês para corrigir o meu problema.

Eu preciso ler um arquivo PDF armazenado em disco (por exemplo, C:\Documentos\PDF) e exibir o conteúdo par ao usuário no browser. Quando ele entrar na minha página, eu deverei apresentar o documento pdf solicitado através de um parâmetro passado na URL.
Criei a minha JSP de lista, onde esta JSP chama uma outra passando o parâmetro na URL. Como eu disse uma JSP é “pesquisa.jsp” e a responsável por apresentar o arquivo em PDF é “abreArquivoPDF.jsp”.

Na minha página pesquisa.jsp coloquei a seguinte TAG:

<embed src="./abreArquivoPDF.jsp?idFuncionario=0001" width="450" height="450" />

E na minha página abreArquivoPDF.jsp coloquei o seguinte comando java:

    if ( (request.getParameter("idFuncionario") != null) && ( ((String)request.getParameter("idFuncionario")).trim().length() > 0 ) ) {
        String diretorio = "C:\\Documentos\\PDF";
        String idFuncionario = ( (String)request.getParameter("idFuncionario") );
        if (new File(diretorio).exists()) {
            
            if (new File(diretorio).exists()) {
                diretorio += ( "\\" + idFuncionario + ".PDF" );
                
                if (new File(diretorio).exists()) {
                    File arquivoFuncionario = new File(diretorio);

                    response.setContentType("application/pdf");
		    response.setHeader("Content-Disposition", "attachment; filename=\"" + arquivoFuncionario.getName() + "\"");

                    String name = arquivoFuncionario.getName().substring(arquivoFuncionario.getName().lastIndexOf("/") + 1,arquivoFuncionario.getName().length());
                    
                    InputStream in = new FileInputStream(arquivoFuncionario);
                    ServletOutputStream outs = response.getOutputStream();
                    
                    int bit = 256;
                    int i = 0;
                    
                    try {
                        while ((bit) >= 0) {
                            bit = in.read();
                            outs.write(bit);
                        }

                    } catch (IOException ioe) {
                        ioe.printStackTrace(System.out);
                    }

                    outs.flush();
                    outs.close();
                    in.close();
                }
            }
        }
    }

Além de a página não estar chamando a página de abertura do PDF através do comando embed, acho que pode ser por não ter especificado um "tipo" de arquivo, sei lá. Tipo, eu não teria que jogar o nome do conteúdo lá?!

E também o que acontece, quando eu chamo direto a página abreArquivoPDF.jsp passando um parâmetro, é que o arquivo é lido e tal, mas ele é apresentado para o usuário na forma de "Download", onde o usuário pode escolher entre salvar ou abrir.
Não é bem isso o que eu quero, o que eu quero é ler um arquivo do disco, armazenar em buffer e disponibilizar o conteúdo dele na tela para o usuário.

Alguém saberia me dizer onde estou errando, o que eu devo corrigir para resolver este meu problema?

Obrigado aí galera. Obrigado mesmo!

Atenciosamente,

Júnior

  response.setContentType("application/pdf");  
  response.setHeader("Content-Disposition", "attachment; filename=\"" + arquivoFuncionario.getName() + "\"");  

É isso que você quer fazer (salvar o arquivo com o nome arquivofuncionario.getName()?) Se for, o código está OK. Senão, você tem de pôr outro valor para Content-Disposition.

I aí galera.
Antes de mais nada, thingol muito obrigado mesmo cara, por ter ajudado. Obrigado por ter respondido o meu tópico.

Consegui chegar ao resultado esperado comentando a linha:

response.setHeader("Content-Disposition", "attachment; filename=\"" + arquivoLaudoPDF.getName() + "\"");

Desta maneira, quando eu abro a minha página pesquisa.jsp , eu consegui ver em uma janela no centro o conteúdo do arquivo PDF que foi aberto. Isso era exatamente o que eu queria. Só que tenho mais dois probleminhas agora, rs… quando eu clico no botão de salvar (do adobereader) dentro da janela onde aparece o documento, o documento aparece com o nome “abreArquivoPDF.pdf”, que é o nome da minha JSP que estou chamando. O que eu queria era que o nome “sugerido” fosse o nome do arquivo PDF. Uma outra dúvida também é que se eu retiro aquela linha que eu disse (“response.setHeader”) não funciona do Internet Explorar 6. E se eu coloco a linha do cabeçalho, aí sim funciona mais apenas abrindo o arquivo para Download.

E thingol Obrigado mais uma vez. Valeu mesmo cara.

Bom galera, que puder me ajudar com esse erro… rs… ficaria muito agradecido.

Valeu galera, abraços a todos aí…

Falows.

OLÁ AMIGOS,

Eu criei um formulario em jsp de forma que o cliente entre com os dados e depois armazanam ele
no banco mysql, só que agora eu preciso buscar estes dados no banco de forma que eles aparaçam
em pdf na tela, alguem pode me dar uma moral aí???

OBRIGADO.
ABÇ