Download de um arquivo pdf ao converter html usando php

votos
6

Eu estou tentando fazer um site de e-commerce, onde o usuário irá clicar no link e ele vai fazer uma factura e deve baixar no cliente termina um arquivo pdf da factura que eu criei em html, a coisa é i usou esse código e ele trabalhou com a palavra ms como documento .doc, mas eu quero fazer o mesmo com pdf não funciona, o código colado abaixo // the code to download invoice as word document, it's working <?php header('Content-type: application/vnd.ms-word'); header('Content-Disposition: attachment;Filename='.$result->tracking_number.'.doc'); ?> <!DOCTYPE html> <html> <head>

mas mesmo com este código não está funcionando para pdf :(

<?php
    header('Content-type: application/pdf');
    header('Content-Disposition: attachment;Filename='.$result->tracking_number.'.pdf');
?>
<!DOCTYPE html>
<html>
<head>

o pdf baixado diz que o formato está corrompido, o que fazer, eu tenho que terminar este o mais cedo possível: ((

Publicado 21/03/2014 em 07:09
usuário
Em outras línguas...                            


1 respostas

votos
0
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
function pdf_create($html, $filename='', $stream=TRUE) 
{
    require_once("dompdf/dompdf_config.inc.php");

    $dompdf = new DOMPDF();
    $dompdf->load_html($html);
    $dompdf->render();
    if ($stream) {
        $dompdf->stream($filename.".pdf");
    } else {
        return $dompdf->output();
    }
}
?>

4) use it in your controllers like this

<?php
function pdf()
{
     $this->load->helper(array('dompdf', 'file'));
     // page info here, db calls, etc.     
     $html = $this->load->view('controller/viewfile', $data, true);
     pdf_create($html, 'filename');
     or
     $data = pdf_create($html, '', false);
     write_file('name', $data);
     //if you want to write it to disk and/or send it as an attachment    
}
?>

https://github.com/EllisLab/CodeIgniter/wiki/PDF-generation-using-dompdf

Respondeu 21/03/2014 em 07:33
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more