Pobierając plik PDF poprzez konwersję HTML za pomocą PHP

głosy
6

Próbuję zrobić witrynę e-commerce, w którym użytkownik kliknie na link i uczyni to fakturę i powinien pobrać na kliencie zakończyć plik pdf faktury, które stworzyłem w html, jest to, że Wykorzystaliśmy ten kod i działał ze słowem ms jako dokument .doc ale chcę zrobić to samo z pdf nie działa, kod wklejony poniżej // 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>

ale same z tego kodu nie działa dla pdf :(

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

pdf pobranych mówi format jest uszkodzony, co robić, mam to skończyć jak najszybciej: ((

Utwórz 21/03/2014 o 07:09
użytkownik
W innych językach...                            


1 odpowiedzi

głosy
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

Odpowiedział 21/03/2014 o 07:33
źródło użytkownik

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