Ir ao conteúdo

FPDF (Gerador de PDF)


eric123

Posts recomendados

Postado

Boa tarde pessoal.

Estou usando a classe FPDF para gerar uns PDFs.

Segue um exemplo abaixo:


require('lib/fpdf/fpdf.php');
define('FPDF_FONTPATH', 'lib/fpdf/font/');

ob_start ();

$pdf = new FPDF();
$pdf->Open();
$pdf->AddPage();
$pdf->SetFont('arial','', 10);
$pdf->SetFont('arial','B',18);
$pdf->Cell(0,5,"Relatório",0,1,'C');
$pdf->Cell(0,5,"","B",1,'C');
$pdf->Ln(50);

$pdf->Output("arquivo.pdf","D");

Ele faz um download do arquivo gerado. porém o problema q está acontecendo é que, nenhum leitor de PDF consegue abri-lo, no adobe da um erro do tipo "o Adobe Reader não pôde abrir 'arquivo.pdf' porque não há suporte a esse tipo de arquivo ou ele foi danificado."

Alguem consegue me ajudar nisso??

  • Membro VIP
Postado

O erro está acontecendo pois o FPDF não está conseguindo encontrar a fonte. Se você não precisa de uma fonte especifica, remova a seguinte linha:

define('FPDF_FONTPATH', 'lib/fpdf/font/');

Pois você não precisa dela para usar Arial.

Postado

Mog.Lucas

retirei e ainda continua com o mesmo problema.

Reparei que quando utilizao metodo Output() com os seguintes parametros acontece o seguinte:

$pdf->Output(); //Tenta exibir o pdf no navegador (nao consegue exibir, da erro)
$pdf->Output("arquivo.pdf","D"); //Ele pede para fazer download do arquivo mas nao consigo abrir no adobe depois de baixado.
$pdf->Output("arquivo.pdf",""); //Ele gera o arquivo na raiz do site, porém consigo abri-lo normal, nao ocorre erro no adobe.

Estranho, o que será?

Postado

Aqui no arquivo fpdf.php diz versão 1.7

verifica ai o case onde realiza a função de download do metodo Output se está assim:


case 'D':
// Download file
$this->_checkoutput();
header('Content-Type: application/x-download');
header('Content-Disposition: attachment; filename="'.$name.'"');
header('Cache-Control: private, max-age=0, must-revalidate');
header('Pragma: public');
echo $this->buffer;
break;

Postado

Bom Mog.Lucas, nao consegui resolver o problema do "D", download. Mas consegui resolver o meu problema de outra maneira, da seguinte forma:

Utilizei o parâmetro "F" ou "", q significa salvar em um diretório (no caso do fdpf, na raiz), porém mandei como parâmetro o caminho e o nome do arquivo, fazendo com q ele salve o arquivo em um diretório e, em seguida, disponibilizei o link para o usuário baixar (pois desta forma ele gera o PDF funcionando sem erro). Depois vou gerar um script para apagar esses PDFs temporários, q após os usuários baixa-los nao servirá mais para nada.

:D

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!