Il download di un file pdf convertendo html utilizzando php

voti
6

Sto cercando di fare un sito di e-commerce, in cui l'utente clicca sul link e si farà una fattura e dovrebbe scaricare sul cliente finale un file PDF della fattura, che ho creato in html, la cosa è i usato questo codice e ha lavorato con MS word come documento .doc ma io voglio fare lo stesso con il pdf non funzionante, il codice incollato al di sotto // 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>

ma lo stesso con questo codice non funziona per pdf :(

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

il pdf scaricato dice il formato è danneggiato, cosa fare, ho per finire questo asap: ((

È pubblicato 21/03/2014 alle 07:09
dall'utente
In altre lingue...                            


1 risposte

voti
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

Risposto il 21/03/2014 a 07:33
fonte dall'utente

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