FPDF error: Some data has already been output, can't send PDF file

2,983 views
Skip to first unread message

Neila

unread,
Dec 28, 2010, 1:32:24 PM12/28/10
to LISTA PHP
Olá pessoal,

Estou usando Irepor como gerador de relatório. Segui todo esse
tutorial http://imasters.com.br/artigo/15736/php/usando_o_ireport_como_gerador_de_relatorios_para_php_
e sempre obtenho esse erro: FPDF error: Some data has already been
output, can't send PDF file. Já andei fuçando no google e só o povo
diz é pra olhar se não há linhas ou espaços antes ou depois das tags <?
php e ?>.
Já não sei o que fazer pra esse negócio funcionar...deve ser uma
bobagem que não consigo enxergar..
Alguém já passou por isso?

Obrigada,

Neila Matos

Jansen Nunes

unread,
Dec 29, 2010, 6:17:25 AM12/29/10
to list...@googlegroups.com
Vc está usando o Jasper?

--
============================================================
LEIAM SEMPRE AS REGRAS DA LISTA:
http://groups.google.com.br/group/listaphp/web/regras-da-lista-php
--
LISTA PHP > http://groups.google.com.br/group/listaphp
--
REVISTA PHP > http://www.revistaphp.com.br
--
AJAX-BRASIL > http://groups.google.com/group/ajax-brasil
--
PYTHON-GOOGLE > http://groups.google.com.br/group/python-google
--
DOTNET-BRASIL > http://groups.google.com.br/group/dotnet_br
============================================================



--
Jansen

Rodrigo Nunes

unread,
Dec 29, 2010, 9:30:11 AM12/29/10
to list...@googlegroups.com
Neila,

Se você estiver imprimindo algo na tela antes do PDF terminar de ser montado, esse erro ocorre.
Abraço

Rodrigo Nunes

Neila Matos

unread,
Dec 29, 2010, 7:02:21 AM12/29/10
to list...@googlegroups.com
Não Jansen, minha aplicação eh toda em php e quero usar o ireport como gerador de relatórios.
Segui todo o tutorial, mas sempre tá dando esse erro que postei. :(

Neila Matos

unread,
Dec 29, 2010, 9:36:09 AM12/29/10
to list...@googlegroups.com
Esse é o problema, não estou imprimindo nada. Andei debugando e vi que o método
transferDBtoArray($server,$user,$pass,$db) 

é que está mandando coisas pro buffer, mas não sei o que devo fazer, nem se é prudente fazer.

Fiz todo o pap do tutorial, se ao menos conseguisse fazer o exemplo funcionar..já me dava por satisfeita.



2010/12/29 Rodrigo Nunes <rvndo...@gmail.com>

Neila Matos

unread,
Dec 30, 2010, 11:15:42 AM12/30/10
to list...@googlegroups.com
Meu povo, sei que o que vou pedir eh quase impossível.
Mas peço que alguma alma caridosa, tente executar o passo-a-passo desse tutorial pra vê se consegue fazer isso com sucesso, por favor! Eu tô quase pra desistir... :(
 
2010/12/29 Neila Matos <neila...@gmail.com>

Gustavo Verner dos Santos

unread,
Jan 2, 2011, 11:13:12 AM1/2/11
to list...@googlegroups.com
Tive este mesmo problema um tempo atrás, ele acontece quando ao gerar o pdf existe uma saída html.
Tente executar o script em uma página diferente da que acontece hoje, pode ser por um pop-up, com certeza vai funcionar.
Abraços

Gustavo Verner dos Santos
Desenvolvedor de Sistemas Web


Cel:   (51) 9675 - 2963

  verner.rs 

Google Wave/ vern...@gmail.com
MSN/ gustavo...@hotmail.com



2010/12/29 Neila Matos <neila...@gmail.com>

Rodrigo Nunes

unread,
Jan 2, 2011, 10:32:55 PM1/2/11
to list...@googlegroups.com
Não desista, mal começou a thread...

A sugestão do Gustavo é justamente para que você esvazie o buffer.

Sugestões:

1 - Se você disse que a função transferDBtoArray que esta manda buffer, então use a função ob_get_content [0] para pegar o conteudo do buffer e saber o que ele está fazendo.

2 - Você pode limpar o buffer depois da função transferDBtoArray, usando ob_clean[1] ou ob_end_clean [2]

3 - Leia isso em caso de dúvidas com o buffer[3][4]



[0] http://www.php.net/manual/pt_BR/function.ob-get-contents.php

[1] http://www.php.net/manual/pt_BR/function.ob-clean.php

[2] http://www.php.net/manual/pt_BR/function.ob-end-clean.php

[3] http://www.criarweb.com/artigos/controle-da-saida-em-php.html

[4] http://www.criarweb.com/artigos/controle-da-saida-em-php-ii.html




2011/1/2 Gustavo Verner dos Santos <verner.rs@gmail.com>
Tive este mesmo problema um tempo atrás, ele acontece quando ao gerar o pdf existe uma saída html.
Tente executar o script em uma página diferente da que acontece hoje, pode ser por um pop-up, com certeza vai funcionar.
Abraços

Gustavo Verner dos Santos
Desenvolvedor de Sistemas Web


Cel:   (51) 9675 - 2963

  verner.rs 

Google Wave/ vern...@gmail.com
MSN/ gustavo...@hotmail.com





--
Abraço

Rodrigo Nunes

Beto Lima

unread,
Jan 3, 2011, 6:09:08 AM1/3/11
to LISTA PHP
Talvez isso ajude, colocando no htaccess da sua aplicação.
php_value display_errors 0


espero ter ajudado


Neila Matos

unread,
Jan 3, 2011, 11:17:55 AM1/3/11
to list...@googlegroups.com
Beto, deu certo!! Ajudou e muito!! Obrigada!
Testei tb as outras indicações e o máximo que obtive foi descobrir que o header já tinha sido enviado, aí comentei uma parte do código, e ele não abriu a janela do PDF, me retornou um monte de caracteres malucos...

Assim:

%PDF-1.3 3 0 obj <> endobj 4 0 obj <> stream xœÝ•ORÛ0 Æ÷9Å·l QôdK²», ¦´a𠸜 6ëâ„ ::aCzÐ bÝY¶ ÍóúÌVû,ƲŠúpK™X[˜Z…î�¹þÊ. endstream endobj 1 0 obj <> endobj 5 0 obj <> endobj 6 0 obj <> endobj 7 0 obj <> stream ÿØÿà� JFIF� �•�•��ÿÛ�C� ! "$" $ ÿÛ�C ÿÀ� �d�d "� ÿÄ� � � ���������� ÿÄ�; � ���� � !1 AQ "Baq #2¡br‘¢ $R’±%Cs‚ÑÿÄ� � ����������� ÿÄ�* � ��������� !1A¡ Qa±á"Bb ‘ÿÚ� � �?�¹t¥( )]{£2d[%G…+Ù%:ÊÐÌŽ@¿ e$%|§¡ÁÁÇž( k^îVƒÐ Vê‹u­ÅŒ¡‡ Tò‡¨m ¬ ž1X_ {Û ovž °Óɉy~ò¶Ñiç'Áp)%~"±‚R ;t9 tëT7ˆm «t ãI·ë ’®óf KEÈ­Jö´¨‘Í•uÈ ‚ lzb®®ÜX4' <;i µ ¦í(n:ÚŠéeQä2€Ú’9{%I±è¤ùŠ ¼]xÊ݇’ ųLÀ% å QÁì}÷ ý«ÚÙ.#wUÝé°Ú5Ä¥L¶_Þb8ˆ¨HgÃKøð^o• ãÞIêH)'Ï a\sØ­ú{{Z·Ú¢5 l°Ã ¶0”! Si è ­¿ vÝ= Ù ©eÙm’®ð ®$yÎÅBß`6êÛåK„s'ôö ΀šiJé›­°^… Ü"‹™ íB Š€ ’H #®H®}¯Ü ¹6CuÒWfæ!² û °¯E õ #Øù T |÷JÛ¾»™hTâ4 š+nDfT…*HHRŠ’ã‰@ ¹< òó`uëŠÄãØ÷ n7 ³OK”ÅòjR-²lò|Fç´áÂTÒÓÑÄ( ?N  @[ßÄ?KÛî[K T8¶š¸Yç!¶Šº [{Ý[cÔä%_Dª¡ µ6ä[µÏø JÚ ËNÜ%4»Êžm^ D Šu. WËäsÍ€1æ.ü .Ýïní: p¢AÔ2S 8¸ûK q·¤¡ |¤cõd‚* Ý^#¶Óic/Kh»\;­Æ6QìVÀ†aÆW˜ZÒ1Ì<Ò OL „ïo »•¸;™sÔËÖ¶YQdº} LñPäf9‰C!)AN 2 ^ç©5+p½²w= …rMËV»wTðŒDi DV I%I '*9ï ÐyÕ=×ì{SAžQÿ� åÏî¨â^¿×rÞñ¥kMFû™Ï3—7” uP t¨ B Ö¸™Ü+Ñ÷›²Û-öF åï…Ht ¢”š×îŸÞ Ó°º—-šûP£—² š·›ÿ�c…IýªXØN(çè« ãü_e –¯—%\'OŒCrRâ ” #ô) a#— =|¨ ƒºš®óoÖz Gi—Ûjå|¹—f-M‡ vö ÎùÁìU”¤ RqR-A{ }¶nŽëjÝÒ‚ÿ� n†Ã +2 9\m  Ï­H=S̆Ñ&§J JR€U=ü@÷Fûe¸Úô †âä6eÛÜ‘uðñùí»ÌÒZV|°— 4Ÿ!R®õq jÛ=ÐÓÚ.]™É¨¸¡·¦ËKü¾ÊÛŽ $„òžs”¨‘‘Ó µ Ý·ë†ýÓeغÿ�KÉ !Æ} 3¦[’ã­#$ŽG™*q $žÀu=Á4 L }#qТãm¾= QÁ çm“ðQ1%X Šâ@ê m}{ £Ú® ;MpÓV)šïRÛýžmÑ)nØËí�ë, ó9Ôe<ùè:{©Ï˜¨WaöƒMjî#åÚ¬š ›Æ’°8‹ˆ r—&2 J åÀøˆJÎ�èqÜU«ã s Û}¦}V×ËWËÊÌ IšÈËŽ åOcä¥&€„8Èâ.S“æíÖ‚ž¦#²K7k“ œ_e0Ú‡dŽÊPêN@è ií}Q*%J$“Ô“ç_( )J WØ]ˆÕûº©2­NF¶Ùâ9á?p•ÍÊ\À<ˆHêµ�A=€ dõ õwÛ†ýeµvq z\KÝ --½**T•GQ8 " `O@A#= 23hø ÔVKŽÇ3`†ëIºZ¥¿íÌä «Äp­ cÍ%* Ϫ ¬»‹ÍEe°l ¦jîó>-Ê"¡BaDs:òú'”yòþ³è @k¯l5ö¥Û TÆ¡Ó Õ B ´¬–¤7ž­¸Ÿ‰'úŽàƒÖ¶k±û›dÝ] Æ£´þCé> èJ_2â¼ TŸP{…yƒär ¨j^á;sžÛ]Ö„ô™ EŽê¤Ãº Ÿt!G wê… çý%C΀ÙÕ)J ÝÝ™Ðzëu´ö©Ô ÅDºEe,µo 6‘46µ- ê½ã…(ç Æ J« ~ -¶§Õe ¼ú".¨ñ ”Zß|7Ì>�TUÌ•+ý% } ¯ TÜ »q ¯õ}ãR8ÑÓR¦N¶‡Ý Ù 0øn,vÁøBÊ àJ»w 8W½Ks˜ìve\æøON”¾«_" \uÕ è $Ð c€Ý¨Ôú*áªu ¬³ÉµIs’Ý §ÓÊ¥¥**qcÕ †ð¡Ðàâ¢oÄ+S9vÞxÚ}.f=ŽÞÚ93Ð:ïæ(ýÒ[ j±œ ë –¬ØæÙ»HrL‹,ç-ÉuÕ-¤¡ FOž ù~‰ N8»uǸ ÖKt’¡-´ ú%–Àý€ # 9b½j;«v« ªmÒs½Q +*qd ç�v g°¯WZè i¢¼ ªôÅÒЇΠrK (Yô ý$ü³š¹ß‡-¢ÌÖ×ÞoŒ6Òîò.ª %Ì t4†ÐP Ê”¯ž~U6oå¢Í{Ù­Y üÛJ„‹[ïó¸ å-¶ÊÐàô)P P Ÿ¥)@wìW›½†à‹ ’é6Ù1 ‘ õ4à %$ƒ\Ú—Rj M53u òåx’‘Ê—fÊ[ÊHô Dà|«Ê¯© J $œ YK/ ……ˆ¢F=²šâ¬‘Ø eGø’Žo¿zÆëy·v<¶\©'÷E7èú¢ žöMªðÛ©œÕÛ ¤ïr .I\ °úÉÉSŒ’Ò”~d Ÿ½+ à × áâ ú[¸ÊJ>œàÿ�É4­ 2 ⛇mm rîš“GXeßl÷™*—Ë #±žYæq @ëŽbHP ÁÁê+ƵmVííÆŒ ì q›{Ö ž¶¯ÙÙ/ªÛ E<éXFB\ttÉÀJR{• ]ŠR€†¸<Û»ÆÛí -š†8 vŸ5ÉÒ#…… y’”%$ŒŒò  ŽÙÅT :ìŽZ8ˆ»JR ZºÅ 1£äG† W÷6ªÙ U¿Ä/oݾh[~º·±Ï&²ÔÎQÔÅp {ÿ�Eãìµ * ¤lÖìë ©¼??KÊdµ( ʇ) l> b  Œœ Aê| e{ÇÄžáne Z~p·Ú-. dG·¶´™ 9 jR”Jr3 ëš…ë± ¦_{ÂuÂÙWD«Ë?:º… W© Qæø,ðîa¼, zW¬» àû 6GÏ" ØÞ'ó l á Öåim¬å»à¿ê÷Î x°ó<šöì¶å ‰/§ àIòùšîC¶ÆŒB‚JÖ>%y}+¹]®žÑÎÖ¢¹¼iÉrŠäŸ›}_b𕲰 Ãä '·)ÿ�ŠÃë'¼¼ €ç_yc”}ëõ´ú6~¿Ü+>“·¥|óä%.¸‘Ÿ ‘ÕÇ ò¤ ûV«_ÜFw4©.qM¿Ûø'n¸6lCƒ‹#–> 4³O ¥Ùm95@ŒtuÅ- ý…4©^× 5²Ù Û  ÔXŒ¡†[ „$%#ì�¥p çb”¥�®½Î K•ºMº|väĔҙ}— Râ 0¤‘èA"»  5‡ÄÖÌÝ6›X­-4ô 59Å*Ù4ŒàwðV|–Ÿî G˜ n Xi« ®ÓÒ¬ ŽÚÅÆÝ)<®2èþŠ ºT;‚0EQ ïá Ué© Ý4 ‹©,ù* :{k Ó— t|Ó×ø|è ûl»� Ì¢zt ö½”)+HR “؃šÅn ¦[¦9 á ø’ZW+Œ¾ÙBÐ} OPk § hå§ ¡Åw;#[W´‚¥s ø®O?WÏ¿©Dè§Å }qÉ}¨í•º°‘ûšÆ Âi ö…ÖY· _¯÷"zZÓ6 ³Z*å\×ADfýy W»ö Ÿ@kmw¯én5oIï~XÇlç± nú³ –ô‹œÖÚe§ RÔ ËHIR”IÀ� äšØ? Û ½¶ÓŽjMG )Õ7f€Sj 0˜î þbpUô È矇> tîÙ­›ýõÖ¯º �PñGäC>~ OR¯ã=} zæ}¯›ÜÜÕº«*Õ^e.lô$’ ¥*ƒ"”¥�¥)@)JP .¨ÒZ[T° ÔšvÕw@ O¶DC¥#äT jÀ&pݲR .9 ¡¡Dÿ�Ú’ûcú%`R” «§ö?i,/%ëv€±‡ r•ÈcÚ “ê ¥X© †ša”2Ãhi´ % H Hô�v¥( Ý)J JR€ÿÙ endstream endobj 2 0 obj << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI] /Font << /F1 5 0 R /F2 6 0 R >> /XObject << /I1 7 0 R >> >> endobj 8 0 obj << /Producer (FPDF 1.53) /CreationDate (D:20110103171224) >> endobj 9 0 obj << /Type /Catalog /Pages 1 0 R /OpenAction [3 0 R /FitH null] /PageLayout /OneColumn >> endobj xref 0 10 0000000000 65535 f 0000000632 00000 n 0000004572 00000 n 0000000009 00000 n 0000000087 00000 n 0000000719 00000 n 0000000820 00000 n 0000000916 00000 n 0000004696 00000 n 0000004772 00000 n trailer << /Size 10 /Root 9 0 R /Info 8 0 R >> startxref 4875 %%EOF

2011/1/3 Beto Lima <beto...@gmail.com>
Talvez isso ajude, colocando no htaccess da sua aplicação.
php_value display_errors 0


espero ter ajudado

Beto Lima

unread,
Jan 4, 2011, 6:52:51 AM1/4/11
to LISTA PHP
hehehe que bom que deu certo...eu tb já passei por isso e resolvi com
htaccess...
abraço

Reply all
Reply to author
Forward
0 new messages