Re: PHP 4 + Relatórios RPT

44 views
Skip to first unread message

Guilherme Medeiros

unread,
Feb 2, 2013, 1:21:31 PM2/2/13
to especia...@googlegroups.com, phppernambuco, php-b...@googlegroups.com
Não faço a menor idéia.

Mas, se as coisas funcionarem mais ou menos como mostra esse exemplo
http://us2.php.net/manual/en/ref.com.php#72955

você deveria, na linha 19 do seu script (onde php diz que há uma exceção)
mudando de
$crapp = $ObjectFactory->CreateObject("CrystalDesignRunTime.Application");

para

$crapp = $ObjectFactory->CreateObject("CrystalDesignRunTime.Application.2");


Mas sei lá
só testando...



Em 2 de fevereiro de 2013 14:38, Eduardo Lima <eduard...@gmail.com> escreveu:
Estou usando PHP 5.

E está dando uma com_expection. 

Fatal error: Uncaught exception 'com_exception' with message 'Source: Unknown Description: Unknown' in D:\ServidorCVS\Php5\com_test.php:19 Stack trace: #0 D:\ServidorCVS\Php5\com_test.php(19): com->CreateObject('CrystalDesignRu...') #1 {main} thrown in D:\ServidorCVS\Php5\com_test.php on line 19

Segue meu código:

$COM_Object = "CrystalReports.ObjectFactory.2";
 $my_report = "D:\\meu_relatorio.rpt";
 $my_pdf = "C:\\test.pdf";
 $ObjectFactory = new COM($COM_Object) or die("Unable to Create Object"); 
$crapp = $ObjectFactory->CreateObject("CrystalDesignRunTime.Application");
 $creport->DiscartSaveData="True";
 $creport = $crapp->OpenReport($my_report, 1);
 $creport->ReadRecords(); // attention!
 $creport->ExportOptions->DiskFileName=$my_pdf;
 $creport->ExportOptions->PDFExportAllPages=true;
 $creport->ExportOptions->DestinationType=1; // Export to File
 $creport->ExportOptions->FormatType=31; // Type: PDF
 $creport->Export(false);
 $len = filesize($my_pdf);
 header("Content-type: application/pdf");
 header("Content-Length: $len");
 header("Content-Disposition: inline; filename=test.pdf");
 readfile("C:\\test.pdf");

Alguma idéia?


2013/2/1 Eduardo Lima <eduard...@gmail.com>
Valeu Daniel pela ajuda!

Acontece que o estou usando o PHP 4 e os COM objetcs só estão disponíveis para a versão 5 do PHP. Esse é meu problema. Já tenho uma série de rpt's prontos. Pelo visto, não é possível.

Mas, vou dar uma olhada no iReport. Ainda não usei por aqui.


2013/2/1 Daniel <dan...@civis.com.br>
Eduardo,

Já me fiz a mesma pergunta, e pesquisei em inúmeros foruns a respeito!
O que encontrei foi muitas pessoas dizendo que ate agora isso não é possível  um dos maiores motivos é o fato do Crystal Reports ser uma ferramenta voltada para o windows, alem de ser paga...

Nesses dois posts o pessoal fala que conseguiu, mas fica tudo muito superficial e sem clareza, não vi por exemplo nenhuma forma de se passar parâmetros para esses relatórios.

Algo que funciona bem com o PHP é o IReports, utilizando o pacote PHPJasperXML.. no IMaster tem um exemplo bem simples do uso desse pacote...

http://imasters.com.br/artigo/15736/php/usando_o_ireport_como_gerador_de_relatorios_para_php/

Espero ter ajudado!

Em 1 de fevereiro de 2013 11:38, Eduardo Lima <eduard...@gmail.com> escreveu:
Alguém já fez o PHP 4 executar relatórios RPT (Cystal Reports)?

É possível? Como posso fazer isso? Alguém ajuda?


--
Atenciosamente,

Eduardo Lima
eduard...@gmail.com
(81) 8625-3761

Facebook Twitter LinkedIn

--
Você está recebendo esta mensagem porque se inscreveu no grupo "especializa-php" dos Grupos do Google.
Para cancelar a inscrição neste grupo e parar de receber seus e-mails, envie um e-mail para especializa-p...@googlegroups.com.
Para postar neste grupo, envie um e-mail para especia...@googlegroups.com.
Visite este grupo em http://groups.google.com/group/especializa-php?hl=pt-BR.
Para obter mais opções, acesse https://groups.google.com/groups/opt_out.
 
 



--

Atenciosamente,

Daniel Henrique da Silva

http://www.civis.com.br/

(81) 3031-9179      

Av. Fernando Simões Barbosa,22 - Sala 1114

Boa Viagem, Recife/PE

--
Você está recebendo esta mensagem porque se inscreveu no grupo "especializa-php" dos Grupos do Google.
Para cancelar a inscrição neste grupo e parar de receber seus e-mails, envie um e-mail para especializa-p...@googlegroups.com.
Para postar neste grupo, envie um e-mail para especia...@googlegroups.com.
Visite este grupo em http://groups.google.com/group/especializa-php?hl=pt-BR.
Para obter mais opções, acesse https://groups.google.com/groups/opt_out.
 
 



--
Atenciosamente,

Eduardo Lima
eduard...@gmail.com
(81) 8625-3761

Facebook Twitter LinkedIn



--
Atenciosamente,

Eduardo Lima
eduard...@gmail.com
(81) 8625-3761

Facebook Twitter LinkedIn

--
Você está recebendo esta mensagem porque se inscreveu no grupo "especializa-php" dos Grupos do Google.
Para cancelar a inscrição neste grupo e parar de receber seus e-mails, envie um e-mail para especializa-p...@googlegroups.com.
Para postar neste grupo, envie um e-mail para especia...@googlegroups.com.
Visite este grupo em http://groups.google.com/group/especializa-php?hl=pt-BR.
Para obter mais opções, acesse https://groups.google.com/groups/opt_out.
 
 

Reply all
Reply to author
Forward
0 new messages