Gerar arquivo PDF

29/04/2009

boa noite, utilizo; RAD studio 2007 + Firebird 1.5

Estou desenvolvendo uma aplicação Web asp.net + ajax.
E consegui ir longe, mas parei na parte de impressão gerando um arquivo PDF, e não tenho ideia de por onde começar.

Odacir Zampolli

Odacir Zampolli

Curtidas 0

Respostas

Rodrigo Mourão

Rodrigo Mourão

29/04/2009

Olá Amigo !!!   Bem, vamos lá ! Problemas com geração de relatórios para aplicações web não é um privilégio so de quem programa com Rad Studio. Em PHP por exemplo também tenho alguns problemas. Digo isso falando em relação a ferramentas que já venham integradas com a IDE.   Mas uma opção no RADStudio é o Rave Reports. Isso mesmo, há uma maneira de se utilizar relatórios com Rave Reports para Asp Net ou utilizar alguma ferramenta paga para .net.   Com Rave conseguimos fazer um Stream de um relatorio para PDF, gerá-lo so servidor e fazer uma requisição para o mesmo exibindo assim o relatório em PDF na web. A principio é uma tarefa relativamente simples porém não podemos exigir muito do Rave em ASp net mas para coisas relativamente simples ele marca presença legal !!!   Estamos a disposição !!   Abs     Atenciosamente,
Rodrigo Carreiro Mourão
Borland Instructor Certified
Coordenador da Consultoria em Delphi      
GOSTEI 0
Odacir Zampolli

Odacir Zampolli

29/04/2009

E teria algum artigo ou qualquer outro material de referencia para indicar? sobre o rave report?
pois nunca utilizei nada para impressão no ASP.net, sendo assim com o rave no asp não sei por onde começar.
GOSTEI 0
Rodrigo Mourão

Rodrigo Mourão

29/04/2009

Pronto não teria nada mas posso preparar para você. Peço que aguarde pois terei que montar todo o exemplo e preparar um tutorial para você !!!   Abs !!!   Atenciosamente,
Rodrigo Carreiro Mourão
Borland Instructor Certified
Coordenador da Consultoria em Delphi
GOSTEI 0
Odacir Zampolli

Odacir Zampolli

29/04/2009

Perfeito fico no aguardo
GOSTEI 0
Rodrigo Mourão

Rodrigo Mourão

29/04/2009

Olá Odacir,   Estou terminando de concluir o conteúdo !!  Em breve estarei postando !!   Abs !!   Atenciosamente,
Rodrigo Carreiro Mourão
Borland Instructor Certified
Coordenador da Consultoria em Delphi
GOSTEI 0
Odacir Zampolli

Odacir Zampolli

29/04/2009

Ok, Obrigado.
GOSTEI 0
Rodrigo Mourão

Rodrigo Mourão

29/04/2009

DEsculpe a demora !!

Segue abaixo link para um pequeno Tuto junto com o código fonte do projeto feito. Lembre-se de ter o banco employee no caminho especificado ou entao altere o caminho no WebConfig.

http://www.rmfactory.com.br/sj/emp/RaveComAspNet.zip

Dúvidas estaremos a disposição !!!

Atenciosamente,
Rodrigo Carreiro Mourão
Borland Instructor Certified
Coordenador da Consultoria em Delphi
GOSTEI 0
Rodrigo Mourão

Rodrigo Mourão

29/04/2009

Olá Amigo,

O tutorial lhe auxiliou ? Há mais alguma dúvida ?

Estamos aguardando para encerrar o chamado !!!

Abs !!!

Atenciosamente,
Rodrigo Carreiro Mourão
Borland Instructor Certified
Coordenador da Consultoria em Delphi

GOSTEI 0
Odacir Zampolli

Odacir Zampolli

29/04/2009

ola rodrigo, tem dado um erro e nao estou conseguindo resolver... segue a mensagem " Attempted to read or write protected memory. This is often an indication that other memory is corrupt. Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.

Source Error:

Line 43: LstConCustomer.Open; Line 44: RvProjWeb.Open; Line 45: RvProjWeb.ExecuteReport(sReportname); Line 46: RvRndrPDF.PrintRender(RvNDRWeb.Stream, sFileName); Line 47: finally"
GOSTEI 0
Odacir Zampolli

Odacir Zampolli

29/04/2009

ola rodrigo o erro anterior acabei resolvendo, mas agora esta dando um novo erro...segue a mensagem... " Stream read error Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: Borland.Vcl.EReadError: Stream read error

Source Error:

Line 44: RvProjWeb.Open; Line 45: RvProjWeb.ExecuteReport('AspNet'); Line 46: RvRndrPDF.PrintRender(RvNDRWeb.Stream, sFileName); Line 47: finally Line 48: LstConCustomer.Close; "   esse e meu codigo do modulo...   procedure TDMRave.ExecuteReport(sReportname, sFileName: string);
var
  MStream : TMemoryStream;
begin
 try
  MStream := TMemoryStream.Create;
  RvProjWeb.Engine    := RvNDRWeb;
  RvNDRWeb.Stream     := MStream;
  RvNDRWeb.StreamMode := smUser;
  LstConCustomer.Open;
  RvProjWeb.Open;
  RvProjWeb.ExecuteReport('AspNet');
  RvRndrPDF.PrintRender(RvNDRWeb.Stream, sFileName);
 finally
  LstConCustomer.Close;
  RvProjWeb.Close;
  MStream.Free;
 end;
end;   esse e do button...   procedure TDefault.Button1_Click(sender: System.Object; e: System.EventArgs);
var
  dtv: DataView;
  sFileName: string;
begin
  try
    DMRave := TDMRave.Create(nil);
    with DMRave do
      begin
        dtv := (sqldtsCustomer.Select(DataSourceSelectArguments.Empty) as DataView);
        sFileName := MapPath(Request.ApplicationPath) + '\Report\Customer.pdf';
        LstConCustomer.DataObject := dtv;
        ExecuteReport('rptCustomer', sFileName);
        Response.Redirect('Report\Customer.pdf');
      end;
  finally
    DMRave.Free;
    DMRave := nil;
  end; end;   ele ta gerando o PDF mas ta em blanco e nao esta abrindo no IE... aparece o erro...   o projeto esta gravado no C:\Inetpub\wwwroot\AspNetWebAppRave... 
GOSTEI 0
Rodrigo Mourão

Rodrigo Mourão

29/04/2009

Olá Odacir !!

Terá que mandar seu código para que eu possa depurar. Pode enviar pelo disco virtual !!

No aguardo !! Abs !!

Atenciosamente,
Rodrigo Carreiro Mourão
Borland Instructor Certified
Coordenador da Consultoria em Delphi
GOSTEI 0
Odacir Zampolli

Odacir Zampolli

29/04/2009

ok estarei enviando...
GOSTEI 0
Odacir Zampolli

Odacir Zampolli

29/04/2009

ola boa noite segue o link com os arquivos... desde ja agradeço a atenção... http://cid-1011c2f4bbd551ba.skydrive.live.com/self.aspx/P%c3%bablico/PDFASPNET.rar
GOSTEI 0
Rodrigo Mourão

Rodrigo Mourão

29/04/2009

Olá Amigo !!!

Seu projeto esta usando um banco seu. Como seu Ralatorio esta criado em cima dele estou recebendo o erro:

---------------------------
Error
---------------------------
Unable to gain control of RAVE Data Communication System.
---------------------------
Cancel   Retry  
---------------------------


Podes me enviar o banco tb !!!

Abs !!!
GOSTEI 0
Odacir Zampolli

Odacir Zampolli

29/04/2009

ola rodrigo obrigado pela atenção... bem eu ultilizo o firebird 2.1, vou criar com o banco de dados que vem com ele para ai lhe envio blz... varei isso esse fim de seman, meu cliente esta no meu pe cobrando essa função pois e muito ultilizado pelo sistema...na versão no vcl funciona perfeitamente e agora preciso fazer funcionar no asp.net... agradeço desde ja pelo esforço e atenção... um grande abraço.
GOSTEI 0
Odacir Zampolli

Odacir Zampolli

29/04/2009

bom dia rodrigo, segue o link de um arquivo rar com codigo e db... continua dando o mesmo erro, minha versão do firebird e a 2.1... um grande abraço... estarei aquardando resposta... http://oyk9bw.blu.livefilestore.com/y1pQw1PE8BNMpMfGvPvGAypFoNmPBKi9m1ospVbQ-oE60TWGXGQoq8U_ZgrQHwbQ07hNnR1A4Oq57nP6lTOGQEmAMq4kah78eCw/PDFASPNET.rar?download
GOSTEI 0
Rodrigo Mourão

Rodrigo Mourão

29/04/2009

Ok Amigo !!

Vou baixar agora mesmo e realizar os testes.


Abs !!!
GOSTEI 0
Rodrigo Mourão

Rodrigo Mourão

29/04/2009

Olá Odacir,

Realizei todos os teste e o problema persiste. "Apelei" para a nevrona, fui ao site e inclusive mandei email para saber sobre um possível bug na versão, ou em algum componente.

Ainda não obtive resposta. Estou me esforçando para lhe auxilia-lo porém como eu disse no início não podemos contar muito com o Rave em .net.

Se tiver se acordo posso buscar para você um outro solução que lhe atenda a necessidade !!

Abs !!!
GOSTEI 0
Odacir Zampolli

Odacir Zampolli

29/04/2009

rodrido pode sim fique a vontade para me ajudar tenho procurado tb mas ta dificil encontrar um solução... estarei aguardando...um grande abraço...
GOSTEI 0
Odacir Zampolli

Odacir Zampolli

29/04/2009

ola rodrigo, resolvi o problema do rave o erro estava no codigo da unit DMRave...segueo codigo...   procedure TDMRave.ExecuteReport(sReportname, sFileName: string);
var MStream : TMemoryStream;
begin
  MStream := TMemoryStream.Create;
  RvProjWeb.Engine    := RvNDRWeb;
  RvNDRWeb.Stream     := MStream;
  RvNDRWeb.StreamMode := smUser;
  RvProjWeb.Open;
  RvProjWeb.ExecuteReport('rptImport');
  RvRndrPDF.PrintRender(RvNDRWeb.Stream, sFileName);
end;   eu nao estava declarando esta linhano codigo...   mas agora tem um novo erro os campos do relatorio estao vindo com o valor (invalid)...   segue o pdf gerado pelo TDMRave para vc dar uma analisada...   http://oyk9bw.blu.livefilestore.com/y1p2ZUx6LcH_d3hwvWvTR8vBsRx5X1XoVTr-OrWb9LWjvDAGRhtY2EAWlcnnZMMUhI9WEpBQZpd0ubRNx3voY70zybxpl_acFPK/Import.pdf?download
GOSTEI 0
Rodrigo Mourão

Rodrigo Mourão

29/04/2009

Ola Odacir !!!

MAs o meu problema aqui não e este. Quando eu executo o seu exemplo ele da este erro pra mim:


Unable to gain control of RAVE Data Communication System.

E como se o rave nao localizasse os dados dentro do delphi. Falando com alguns instrutores amigos meus eles me sugeriram testar no FB 2.0 pois o seu e 2.1.

Ainda tem o lance do provider do firebird. Como vc esta conectando no FireBird ?  Com provider especificos para Firebird.

De qualquer forma vou esta trocar o banco e baixar um provider mais recente para testar. Postarei aqui o resultado !!!

Abs !!!
GOSTEI 0
Odacir Zampolli

Odacir Zampolli

29/04/2009

ola rodrigo estou usando do Interbase...nao encontrei driver para o firebird...
GOSTEI 0
Odacir Zampolli

Odacir Zampolli

29/04/2009

rodrigo instalei firebird 2.0 e continua dando erro, onde eu posso encontrar provider especificos para Firebird...?
GOSTEI 0
Odacir Zampolli

Odacir Zampolli

29/04/2009

encontrei uma video aula sua, baixei o driver para o firebird instalei vou fazer alguns teste qualquer coisa post aki...valeu... um grande abraço...
GOSTEI 0
Rodrigo Mourão

Rodrigo Mourão

29/04/2009

Pode Baixar aqui !!!

http://www.firebirdsql.org/index.php?op=files&id=netprovider


Abs !!!

GOSTEI 0
Odacir Zampolli

Odacir Zampolli

29/04/2009

rodrigo ja tenho instalado esse driver no delphi, como faço para ultilizar no ide do delphi?
GOSTEI 0
Odacir Zampolli

Odacir Zampolli

29/04/2009

Rodrigo conseguimos, cara graças a Deus deu certo de Fe...ahehaehahea...bem essa fase passo...esta gerando pdf e o dados estão saindo certo...cara muito obrigado pela força...um grande abraço, vou ter que abrir um novo chamado agora para vc me ajudar com a parametrização...
GOSTEI 0
Devmedia

Devmedia

29/04/2009

Odacir,
estamos encerrando o chamado.
Caso ainda possua alguma dúvida sobre esse assunto, por favor, post a mesma que o consultor voltará a lhe atender e o chamado será reaberto.
GOSTEI 0
Odacir Zampolli

Odacir Zampolli

29/04/2009

ola rodrigo, eu descobri que ocorre um erro quando na tabela tem capos date, float, numeric... ai invalida todos os outros campos do relatorio, o pdf sai no lugar do informa sai (invalid), como naquele pdf que lhe envie...vc teria uma sugestão de como resolver esse problema, quando so tem campos varchar sai nomal...
GOSTEI 0
Rodrigo Mourão

Rodrigo Mourão

29/04/2009

Olá Odacir !!!   Desculpe não ter respondido antes mas é que fiquei sem net, no serviço !!   Eu não tinha reparado isso. Agora fiz o relatorio com campos texto no meu e funcionou o meu também !!!  Agora não sei te dizer se é o driver de acesso ou problema no rave na web.   Bem vamos lá ! Tente "burlar o drive". No seu select tente fazer um cast no firebird. Por exemplo um select em um campo date trazendo como texto. É algo mais ou menos assim.     Select Cast(DataNasc as VarChar(10)) from Cliente.   Isso trará a data como char.  O mesmo serve para Float com algumas ressalvas.   Abs !!!   Atenciosamente,
Rodrigo Carreiro Mourão
Borland Instructor Certified
Coordenador da Consultoria em Delphi      
GOSTEI 0
Odacir Zampolli

Odacir Zampolli

29/04/2009

cara isso ajudo muito...graças a bom Jesus deu certo...apareceu os dados data, valor... vou ter que so formatar e tal pra fica mais certinho mas ja da pra ler...haehahehaeha...valeu rodrigo cara tu ajudo muito...
GOSTEI 0
POSTAR