Matheus,

Acredito que o parametro I não esta funcionando porque dentro da função
existe uma configuração do header cuja posição precisa ser localizada no
inicio da página.

Erros tipicos:

'Some data has already been output, can\'t send PDF file'

'Some data has already been output to browser, can\'t send PDF file'


Quando você usa o parametro I , o pdf vai para saida padrão que contém a
configuração explicada anteriormente com o application/pdf e
content-disposition. Olha por dentro como é a função do output.

http://dev.xoofoo.org/modules/content/da/da0/a00009_c4e0bfb71d9e602637c67016e4b5dd40.html

Faz uma versão simplificada da criação do PDF, sem usar função Report. Logo
ao chamar a página já crie o PDF.

Habilite as mensagens de erros do PHP (display_errors), caso esteja
desligado.


Em 22 de novembro de 2010 12:41, Matheus <mabro...@gmail.com> escreveu:

> Opa Everton eu vi, mas é basicamente a mesma coisa a diferença é que
> no exemplo ele inclui o arquivo .php e aqui eu inclui o .html, mas a
> saida é igual usando output e com o I no parametro, porem o meu nao
> vai da erro se eu coloco I, ele simplesmente nao carrega o pdf no
> browser e no charles eu recebo o pdf todo loko cheio de caracteres
> aleatorios...
>
> Abs
>
> On Nov 22, 11:51 am, everton vieira <everton...@gmail.com> wrote:
> > Mateus da uma sacada nesse post.
> http://evertonvps.blogspot.com/2010/06/relatorios-web-convertendo-htm...
> >
> > Em 22 de novembro de 2010 09:28, Matheus <mabro...@gmail.com> escreveu:
> >
> >
> >
> > > Opa Rodrigo, testei como vc falou e nada, tem alguma coisa que o pdf
> > > simplesmente nao carrega, só funciona se eu colocar pra gravar no
> > > disco. segue o codigo:
> >
> > > public function myReport(){
> >
> > >    $aluno = new Aluno();
> >
> > >    $aluno->find();
> >
> > >    $result = $aluno->allToArray();
> >
> > >    ob_start();
> >
> > >    include 'template.php';
> >
> > >    $html = ob_get_clean();
> >
> > >    ob_end_clean();
> >
> > >    $pdf = new TCPDF('L');
> >
> > >    $pdf->AddPage();
> >
> > >    $pdf->writeHTML($html);
> >
> > >    //$arquivo = "reports/relatorio_".  session_id().".pdf";
> > >    $arquivo = "relatorio.pdf";
> >
> > >    $pdf->Output($arquivo,'I');
> >
> > >   return $arquivo;
> >
> > >    }
> >
> > > Lembrando que testei com o header das duas formas.
> > > ABs
> >
> > > On Nov 20, 2:32 pm, Rodrigo Nunes <rvndobra...@gmail.com> wrote:
> > > > Estranho. Testei aqui e funcionou.
> > > > Fiz várias formas de abrir/baixar o arquivo.
> >
> > > > Altera a disposição do conteudo e vê se funciona no seu caso.
> >
> > > > Em nomedopdf altera para o nome do pdf que você vai criar.
> >
> > > > header('Content-Disposition: inline; filename="nomedopdf.pdf"');
> >
> > > > Existe também content-disposition:attachment no qual força o
> download.
> > > > Vide exemplos da função header.
> >
> > > >http://www.php.net/manual/pt_BR/function.header.php
> >
> > > > Em 20 de novembro de 2010 10:18, Matheus <mabro...@gmail.com>
> escreveu:
> >
> > > > > Então Rodrigo eu coloquei e não funcionou. coloquei o
> header('Content-
> > > > > type: application/pdf');
> > > > > Abs
> >
> > > > > On Nov 19, 4:47 pm, Rodrigo Nunes <rvndobra...@gmail.com> wrote:
> > > > > > Matheus,
> >
> > > > > > Altera o content-type da página que vai exibir o PDF para
> > > application/pdf
> >
> > > > > > O truque esta em alterar as informações do cabeçalho HTTP para
> que o
> > > > > > navegador entenda o que você deseja ser feito com o arquivo.
> >
> > > > > > Em PHP, você utiliza a função header para alterar isso.
> >
> > > > > > Mais informações:
> >
> > > > > >http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html
> >
> > > > > > Procure em algum buscador pelas palavras chave: forçar abrir
> arquivo
> > > pelo
> > > > > > browser ou forçar download de arquivo pelo browser
> >
> > > > > > Em 19 de novembro de 2010 11:27, Matheus <mabro...@gmail.com>
> > > escreveu:
> >
> > > > > > > Bom dia pessoal, a minha dúvida é quero colocar o pdf pra
> apenas
> > > > > > > exibir no browser e não salvar no disco porém não consegui
> mesmo
> > > > > > > mudando o parametro do output para I. Segue código
> >
> > > > > > >  public function myReport(){
> >
> > > > > > >       $record = "select * from usuario";
> >
> > > > > > >    $pdf = new FPDF('P','mm','A4');
> >
> > > > > > >    $pdf->Open();
> > > > > > >    $pdf->AddPage();
> >
> > > > > > >    $pdf->SetFont('Arial', 'B', 8);
> >
> > > > > > >    $pdf->Cell(10, 5, "id", 0, 0);
> > > > > > >    $pdf->Cell(50, 5, "username", 0, 0);
> > > > > > >    $pdf->Cell(50,10,'Listagem de Usuarios',0,0,'R');
> > > > > > >    $pdf->SetX(-10);
> > > > > > >    $pdf->line(10, 25, $pdf->GetX(), 25);
> > > > > > >    $pdf->SetXY(10, 27);
> > > > > > >     $ds = mysql_query($record);
> >
> > > > > > >      while ($rs = mysql_fetch_object($ds)) {
> >
> > > > > > >         $pdf->Cell(10, 5, $rs->UsuarioId, 0, 0);
> > > > > > >         $pdf->Cell(50, 5, $rs->UsuarioLogin, 0, 1);
> >
> > > > > > >    }
> >
> > > > > > >        //$arquivo =
> "reports/relatorio_".$_SESSION['nome'].".pdf";
> > > > > > >        $arquivo = $_SESSION['nome'].".pdf";
> >
> > > > > > >        $pdf->Output($arquivo,'I');
> >
> > > > > > >        return $arquivo;
> > > > > > >    }
> >
> > > > > > > Abs e obrigado
> >
> > > > > > > --
> > > > > > > Você recebeu esta mensagem porque está inscrito na lista
> "flexdev"
> > > > > > > Para enviar uma mensagem, envie um e-mail para
> > > > > flexdev@googlegroups.com
> > > > > > > Para sair da lista, envie um email em branco para
> > > > > > > flexdev-unsubscr...@googlegroups.com
> > > > > > > Mais opções estão disponíveis emhttp://
> > > groups.google.com/group/flexdev
> >
> > > > > > --
> > > > > > Abraço
> >
> > > > > > Rodrigo Nunes
> >
> > > > > --
> > > > > Você recebeu esta mensagem porque está inscrito na lista "flexdev"
> > > > > Para enviar uma mensagem, envie um e-mail para
> > > flexdev@googlegroups.com
> > > > > Para sair da lista, envie um email em branco para
> > > > > flexdev-unsubscr...@googlegroups.com
> > > > > Mais opções estão disponíveis emhttp://
> groups.google.com/group/flexdev
> >
> > > > --
> > > > Abraço
> >
> > > > Rodrigo Nunes
> >
> > > --
> > > Você recebeu esta mensagem porque está inscrito na lista "flexdev"
> > > Para enviar uma mensagem, envie um e-mail para
> flexdev@googlegroups.com
> > > Para sair da lista, envie um email em branco para
> > > flexdev-unsubscr...@googlegroups.com
> > > Mais opções estão disponíveis emhttp://groups.google.com/group/flexdev
> >
> > --
> >  *   Everton Vieira Pereira da Silva*
> > *web developer*
> >    http://www.evertonvps.blogspot.com
> >     @evertonvps
> >     Msn: evertongrin...@hotmail.com
> >     Skype: evertonvps
> >     Gtalk: everton...@gmail.com
>
> --
> Você recebeu esta mensagem porque está inscrito na lista "flexdev"
> Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com
> Para sair da lista, envie um email em branco para
> flexdev-unsubscr...@googlegroups.com
> Mais opções estão disponíveis em http://groups.google.com/group/flexdev
>



-- 
Abraço

Rodrigo Nunes

-- 
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com
Para sair da lista, envie um email em branco para 
flexdev-unsubscr...@googlegroups.com
Mais opções estão disponíveis em http://groups.google.com/group/flexdev

Responder a