2015-04-03 8 views
5

मैं कोडिनेटर में पीडीएफ फ़ाइलों को उत्पन्न करने के लिए एमपीडीएफ का उपयोग कर रहा हूं।mpdf त्रुटि - preg_replace():/e modifier को बहिष्कृत किया गया है, preg_replace_callback का उपयोग करें

मेरी तरह

function save_pdf($std_id) 
    { 
    $data['section1_report']= $this->common_model->get_details('tbl_section1',array('id'=>$std_id)); 
    $html = $this->load->view('reports/section1',$data,true); 
     // print_r($html);exit; 
    $this->load->library('pdf'); 
    $pdf = $this->pdf->load(); 
    $pdf->WriteHTML($html); 
    $pdf->Output(); 
} 

मेरी pdf पुस्तकालय नियंत्रक समारोह नज़र

<?php if (!defined('BASEPATH')) exit('No direct script access allowed'); 
    class pdf {  
     function pdf() 
     { 
     $CI = & get_instance(); 
     log_message('Debug', 'mPDF class is loaded.'); 
     } 

    function load($param=NULL) 
    { 
     include_once APPPATH.'/mpdf/mpdf.php';   
     if ($params == NULL) 
     { 
      $param = '"en-GB-x","A4","","",10,10,10,10,6,3';   
     }   
     return new mPDF($param); 
    } 
    } 

मैं दृश्य फ़ाइल section1 से पीडीएफ फाइल उत्पन्न करना चाहते हैं। लेकिन जब मैं नियंत्रक समारोह save_pdf कहते हैं, मैं

enter image description here

नीचे के रूप में त्रुटियों मिला जब मैं print_r($html);exit;, यह प्रदर्शित करता है दृश्य file.i से सभी सामग्री को mpdf/includes/functions.php में preg_replace_callback बजाय preg_replace इस्तेमाल किया लेकिन यह अभी भी दिखा रहा है इस

enter image description here

तरह त्रुटि मैं mpdf प्रलेखन का अध्ययन किया और इसे सही ढंग से सादे php में काम कर रहा है। लेकिन मैं Codeigniter में पीडीएफ फाइल जेनरेट करना चाहता हूं। mpdf में ऐसी त्रुटियों को हल करने के लिए कैसे करें? मैं किसी भी मदद की सराहना करता हूं जहां मैं में mpdf का उपयोग करके pdf file उत्पन्न कर सकता हूं। धन्यवाद।

+1

मैंने बस "कोडिनेटर के साथ एमपीडीएफ" गुगल किया, उदाहरण के लिए प्रयास करें https://davidsimpson.me/2013/05/19/using-mpdf-with-codeigniter/ – Vickel

उत्तर

16

कोशिश की जगह लाइनों 79 और इस के साथ functions.php के 80:

$str = preg_replace_callback('/\&\#([0-9]+)\;/m', function($m) use ($lo){return code2utf($m[1],$lo); }, $str); 
$str = preg_replace_callback('/\&\#x([0-9a-fA-F]+)\;/m', function($m) use ($lo){return codeHex2utf($m[1],$lo);}, $str); 

स्रोत: https://github.com/carlholmberg/mpdf/issues/1

0

मैं प्रतिस्थापित इन पंक्तियों:

$str = preg_replace('/\&\#([0-9]+)\;/me', "code2utf('\\1',{$lo})",$str); 
    $str = preg_replace('/\&\#x([0-9a-fA-F]+)\;/me', "codeHex2utf('\\1',{$lo})",$str); 
इन लाइन के साथ

:

$str = preg_replace_callback('/\&\#([0-9]+)\;/m', function($m) use ($lo){return code2utf($m[1],$lo); }, $str); 
    $str = preg_replace_callback('/\&\#x([0-9a-fA-F]+)\;/m', function($m) use ($lo){return codeHex2utf($m[1],$lo);}, $str); 

और यह सही ढंग से काम किया।

0
$str = preg_replace('/\&\#([0-9]+)\;/me', "code2utf('\\1',{$lo})",$str); 
$str = preg_replace('/\&\#x([0-9a-fA-F]+)\;/me', "codeHex2utf('\\1',{$lo})",$str); 
// Remove above and add below code in includes/functions.php 
$str = preg_replace_callback('/\&\#([0-9]+)\;/m', function($m) use ($lo){return code2utf($m[1],$lo); }, $str); 
$str = preg_replace_callback('/\&\#x([0-9a-fA-F]+)\;/m', function($m) use ($lo){return codeHex2utf($m[1],$lo);}, $str); 

// Also comment below line in mpdf.php 
$html = preg_replace('/\{DATE\s+(.*?)\}/e',"date('\\1')",$html); 
संबंधित मुद्दे