Flavio Nash Posted August 26, 2016 at 12:57 PM Report #598380 Posted August 26, 2016 at 12:57 PM Olá pessoal estou gerando um pdf com a lib fpdf, ta tudo funcionando se eu fizer download do arquivo e visualizar, mas no browser quando vou visualizar gera esses caracteres: %PDF-1.3 3 0 obj <> endobj 4 0 obj <> stream x3R235W(r Qw3T0430PISp Z*X뙘((h-)WHWJI,\RZ endstream endobj 1 0 obj <> endobj 5 0 obj <> stream x]Rn0>L%DI8~%E*rvҪHXgvVk?/Ῑ`][x5 3\zP}POjJݍ^x6/f|4}z}@,ۖ-˺Eu^,< Z_K IQYdCK_%q8>!J"V!2&bGģ%r"HD\}2EL1nhje"a*H:d9c[X1~"3gÑ;O> endobj 2 0 obj << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI] /Font << /F1 6 0 R >> /XObject << >> >> endobj 7 0 obj << /Producer (FPDF 1.81) /CreationDate (D:20160826095619) >> endobj 8 0 obj << /Type /Catalog /Pages 1 0 R >> endobj xref 0 9 0000000000 65535 f 0000000237 00000 n 0000000876 00000 n 0000000009 00000 n 0000000087 00000 n 0000000324 00000 n 0000000758 00000 n 0000000980 00000 n 0000001056 00000 n trailer << /Size 9 /Root 8 0 R /Info 7 0 R >> startxref 1105 %%EOF gostaria de saber como faço pra corrigir isso.
Knitter Posted August 26, 2016 at 01:09 PM Report #598381 Posted August 26, 2016 at 01:09 PM (edited) Parece que estás a apresentar o PDF inline sem indicares isso à biblioteca, como é que estás a fazer output para mostrar no browser? Estás a usar o segundo parâmetro da função com o valor "I"? A biblioteca FPDF deixa-te gerar o PDF e apresentar de várias formas, guardar directamente em disco, forçar download ou mostrar inline (apresentado no browser), isso é controlado pelo segundo parâmetro da função output() (acho eu, estou a dizer de memória, mas está na documentação). E confirmar que estás a enviar os cabeçalhos HTTP correctos (que é feito pela opção que falei acima) e que não tens qualquer outro conteúdo antes e depois de enviares o PDF para o browser. Edited August 26, 2016 at 01:10 PM by Knitter 1 Report
Flavio Nash Posted August 26, 2016 at 01:20 PM Author Report #598382 Posted August 26, 2016 at 01:20 PM <?php require_once __DIR__ . '/fpdf' . '/fpdf.php'; $pdf= new FPDF("P","pt","A4"); $pdf->AddPage(); $pdf->SetFont('arial','B',12); $pdf->Cell(0,5,'Gerar PDF',0,1,'L'); $pdf->Ln(8); $pdf->Output(); Knitter obrigado pela sua colaboração, estou fazendo como postei acima, na função output se eu passar o nome do arquivo como primeiro parâmetro e o segundo parâmetro "D", ele faz o download de boa, mas não consigo exibir no browser, como enviar os cabeçalhos HTTP corretos? tens algum exemplo de como fazer isso pois no site da lib FPDF não encontrei
Flavio Nash Posted August 26, 2016 at 01:41 PM Author Report #598383 Posted August 26, 2016 at 01:41 PM coloco: header('Content-type: application/pdf'); antes da saída e nada.
HappyHippyHippo Posted August 26, 2016 at 01:49 PM Report #598384 Posted August 26, 2016 at 01:49 PM Quote I: send the file inline to the browser. The PDF viewer is used if available. in doc 1 Report IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
Flavio Nash Posted August 26, 2016 at 02:28 PM Author Report #598386 Posted August 26, 2016 at 02:28 PM O Output sem parâmetro imprime no browser mas pra mim ainda não funciona, mas se eu passar o parâmetro D com nome do arquivo funciona.
Knitter Posted August 26, 2016 at 02:35 PM Report #598388 Posted August 26, 2016 at 02:35 PM O output para o browser não está a funcionar por estares a enviar dados que o browser está a tentar interpretar como texto, e um PDF é binário. Ou estás a enviar texto antes do PDF (dados no buffer de output) ou estás a alterar os headers para um valor incorrecto. O valor correcto será "Content-type: application/pdf" como tens acima, se enviares qualquer outro vai dar problemas. O parâmetro "I" é suposto fazer isto por ti (ou apresenta inline se o browser suportar ou o browser faz download), por isso, se funciona com o "D" tem de funcionar com o "I" que é que deves usar para o que pretendes fazer.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now