Loading ...
Sorry, an error occurred while loading the content.

gerar PDF com um servlet

Expand Messages
  • Alberto Ivo
    olá pessoal, quero implementar um servlet para gerar um documento PDF, prém está dando erro e estou fazendo igual ao livro Core Servlets. Procurei no google
    Message 1 of 4 , Mar 1, 2007
    • 0 Attachment
      olá pessoal,

      quero implementar um servlet para gerar um documento PDF, prém está dando erro e estou fazendo igual ao livro Core Servlets. Procurei no google mas nao achei nenhuma explicação para o erro.
      meu código é o seguinte:

      doPost ( ) {
        response.setContentType("Application/pdf");
        PrintWriter out = response.getWriter();
          
        out.println("teste pdf");
      }


      e o erro é: O ARQUIVO NÃO COMEÇA COM '%PDF-'

      Alguém já passou por esta situação e sabe dizer como resolvo?

      Obrigado.

      []'s
    • Leonardo Borges Barbosa
      O que você tece passar para o método out.println(); é a sequencia de bytes do arquivo pdf. Passar a string não vai gerar o pdf pra vc. Você deverá usar
      Message 2 of 4 , Mar 1, 2007
      • 0 Attachment
        O que você tece passar para o método   out.println(); é a sequencia de bytes do arquivo pdf. Passar a string não vai gerar o pdf pra vc.
        Você deverá usar uma outra ferramenta, como o iText(
        www.lowagie.com/iText/), para gerar o pdf e então passa-lo à saida do servlet (out).

        Espero ter ajudado.

        Att,
        Leonardo Borges

        On 3/1/07, Alberto Ivo <albertoivo@... > wrote:

        olá pessoal,

        quero implementar um servlet para gerar um documento PDF, prém está dando erro e estou fazendo igual ao livro Core Servlets. Procurei no google mas nao achei nenhuma explicação para o erro.
        meu código é o seguinte:

        doPost ( ) {
          response.setContentType("Application/pdf");
          PrintWriter out = response.getWriter();
            
          out.println("teste pdf");
        }


        e o erro é: O ARQUIVO NÃO COMEÇA COM '%PDF-'

        Alguém já passou por esta situação e sabe dizer como resolvo?

        Obrigado.

        []'s





      • Alberto Ivo
        olá Leonardo, eu usei a ferramente iText. Gerou o PDF numa classe java normal, dentro do método MAIN( ). Porém quando coloquei o mesmo codigo dentro do
        Message 3 of 4 , Mar 1, 2007
        • 0 Attachment
          olá Leonardo,

          eu usei a ferramente iText. Gerou o PDF numa classe java normal, dentro do método MAIN( ).
          Porém quando coloquei o mesmo codigo dentro do método doPost( ) do meu servlet, ele deu erro.

          o código do iText foi esse. exatamente igual ao exemplo do site. dá certo com um main( ) mas não no doPost( ):
          Document document = new Document();
                  try {
                      PdfWriter.getInstance(document, new FileOutputStream("HelloWorld.pdf"));
                      document.open();
                      document.add(new Paragraph("Eu não faço Hello World"));
                  } catch (DocumentException de) {
                      System.err.println (de.getMessage());
                  } catch (IOException ioe) {
                      System.err.println(ioe.getMessage());
                  }
          document.close();


          On 3/1/07, Leonardo Borges Barbosa < leonardo.java@...> wrote:
          O que você tece passar para o método   out.println(); é a sequencia de bytes do arquivo pdf. Passar a string não vai gerar o pdf pra vc.
          Você deverá usar uma outra ferramenta, como o iText(
          www.lowagie.com/iText/ ), para gerar o pdf e então passa-lo à saida do servlet (out).

          Espero ter ajudado.

          Att,
          Leonardo Borges

          On 3/1/07, Alberto Ivo < albertoivo@... > wrote:

          olá pessoal,

          quero implementar um servlet para gerar um documento PDF, prém está dando erro e estou fazendo igual ao livro Core Servlets. Procurei no google mas nao achei nenhuma explicação para o erro.
          meu código é o seguinte:

          doPost ( ) {
            response.setContentType("Application/pdf");
            PrintWriter out = response.getWriter();
              
            out.println("teste pdf");
          }


          e o erro é: O ARQUIVO NÃO COMEÇA COM '%PDF-'

          Alguém já passou por esta situação e sabe dizer como resolvo?

          Obrigado.

          []'s






        • Leonardo Borges Barbosa
          altera o código assim e vê se funciona: ByteArrayOutputStream bytes = null; try { PdfWriter.getInstance(document, bytes); document.open(); document.add(new
          Message 4 of 4 , Mar 1, 2007
          • 0 Attachment
            altera o código assim e vê se funciona:

            ByteArrayOutputStream bytes = null;

                    try {
                        PdfWriter.getInstance(document, bytes);
                        document.open();
                        document.add(new Paragraph("Eu não faço Hello World"));
                    } catch (DocumentException de) {
                        System.err.println(de.getMessage());
                    } catch (IOException ioe) {
                        System.err.println(ioe.getMessage());
                    }
            document.close();

            depois disso, vc passa a variavel bytes como resposta, assim:

            out.write(bytes);


            Att,
            Leonardo Borges

            On 3/1/07, Alberto Ivo <albertoivo@...> wrote:

            olá Leonardo,

            eu usei a ferramente iText. Gerou o PDF numa classe java normal, dentro do método MAIN( ).
            Porém quando coloquei o mesmo codigo dentro do método doPost( ) do meu servlet, ele deu erro.

            o código do iText foi esse. exatamente igual ao exemplo do site. dá certo com um main( ) mas não no doPost( ):
            Document document = new Document();
                    try {
                        PdfWriter.getInstance(document, new FileOutputStream("HelloWorld.pdf"));
                        document.open();
                        document.add(new Paragraph("Eu não faço Hello World"));
                    } catch (DocumentException de) {
                        System.err.println(de.getMessage());
                    } catch (IOException ioe) {
                        System.err.println(ioe.getMessage());
                    }
            document.close();


            On 3/1/07, Leonardo Borges Barbosa <leonardo.java@...> wrote:
            O que você tece passar para o método   out.println(); é a sequencia de bytes do arquivo pdf. Passar a string não vai gerar o pdf pra vc.
            Você deverá usar uma outra ferramenta, como o iText(
            www.lowagie.com/iText/), para gerar o pdf e então passa-lo à saida do servlet (out).

            Espero ter ajudado.

            Att,
            Leonardo Borges

            On 3/1/07, Alberto Ivo <albertoivo@... > wrote:

            olá pessoal,

            quero implementar um servlet para gerar um documento PDF, prém está dando erro e estou fazendo igual ao livro Core Servlets. Procurei no google mas nao achei nenhuma explicação para o erro.
            meu código é o seguinte:

            doPost ( ) {
              response.setContentType("Application/pdf");
              PrintWriter out = response.getWriter();
                
              out.println("teste pdf");
            }


            e o erro é: O ARQUIVO NÃO COMEÇA COM '%PDF-'

            Alguém já passou por esta situação e sabe dizer como resolvo?

            Obrigado.

            []'s










          Your message has been successfully submitted and would be delivered to recipients shortly.