2016-12-14 7 views
0

Während dompdf in Englisch gut unterstützt wird, erscheinen nun anstelle von arabischen Zeichen Fragezeichen.dompdf zeigt Questionsmarkierungen Anstelle von arabischen Zeichen

Mein Code:

//get weekly report of users 

public function pdf_content3() 
{ 
    require_once("application/libraries/Dompdf/dompdf_config.inc.php"); 
    spl_autoload_register('DOMPDF_autoload'); 
    date_default_timezone_set('Asia/kolkata'); 

     $tym = date('g:i s'); 
     $filename = 'order_list'.$tym; 

$st_date = $this->input->post('start_date'); 
$ed_date = $this->input->post('end_date'); 

$date = date_create($st_date); 
$date2 = date_create($ed_date); 
$date3 = date_format($date,"Y-m-d"); 
$date4 = date_format($date2,"Y-m-d"); 

if($this->verify_min_level(9)){ 

$this->data['orders_list'] = $this->business_orders_m->get_pdf_data($date3,$date4); 

$html="<html><body>"; 

if(sizeof($this->data['orders_list']) > 0){ 

$html.="<h1 style='text-align:center'>BUSINESS USER ORDER DETAILS</h1><br><br><table style = 'border: 1px solid black;text-align:center;margin:0px auto;border-spacing: 0.5rem;border-collapse: collapse;'><thead> 
<tr><th style = 'border: 1px solid black;padding:10px'>Id No</th> 
<th style = 'border: 1px solid black;padding:10px'>User Name</th> 
<th style = 'border: 1px solid black;padding:10px'>Order Id</th> 
<th style = 'border: 1px solid black;padding:10px'>Date</th> 
<th style = 'border: 1px solid black;padding:10px'>From</th> 
<th style = 'border: 1px solid black;padding:10px'>To</th> 
<th style = 'border: 1px solid black;padding:10px'>Status</th> 
</tr> 
</thead> 
<tbody>"; 

$i = 1; 

foreach($this->data['orders_list'] as $date_search){ 

$status = ''; 
if($date_search->order_status == 0){ 
$status = 'Pending';  
}else{ 
$status = 'Completed'; 
} 

      $html.="<tr><td style = 'border: 1px solid black;padding:10px'>".$i."</td> 
      <td style = 'border: 1px solid black;padding:10px'>".$date_search->username."</td> 
      <td style = 'border: 1px solid black;padding:10px'>".$date_search->order_id."</td> 
      <td style = 'border: 1px solid black;padding:10px'>".$date_search->date."</td> 
      <td style = 'border: 1px solid black;padding:10px'>".$date_search->pickup_address."</td> 
      <td style = 'border: 1px solid black;padding:10px'>".$date_search->drop_address."</td> 
      <td style = 'border: 1px solid black;padding:10px'>".$status."</td></tr>"; 

      $i++; 

} 

$html.="</tbody>"; 
$html.="</table>"; 
}else{ 
    $html.= '<p><h1 style="text-align:center;color:red;">NO DATA AVAILABLE</h1></p>'; 
} 

$html.="</body></html>"; 
$this->pdf_create($html,$filename); 

     }else{ 
      redirect(LOGIN_PAGE); 
     } 
} 

public function pdf_create($html,$filename,$stream = TRUE) 
{ 
$dompdf = new DOMPDF(); 
$dompdf->load_html($html); 
$dompdf->render(); 
$dompdf->stream($filename.".pdf",array('Attachment'=>0)); 
} 

Das Ergebnis:

enter image description here

+0

Vielleicht unterstützt Ihre Schriftart-Datei keine arabischen Buchstaben? – Justinas

+0

dann, wie kommt man auf eine Idee? –

+0

https://github.com/dompdf/dompdf#setting-options – Justinas

Antwort

0

Das Projekt Github Seite hat eine bestimmte Note (About Fonts & Character Encoding) direkt auf der Startseite (Hervorhebung von mir):

PDF-Dokumente unterstützen intern die folgenden Schriftarten: Helvetica, Times-Roman, Kurier, Zapf-Dingbats, & Symbol. Diese Schriftarten unterstützen nur Windows ANSI-Codierung. Damit ein PDF Zeichen anzeigt, die in Windows ANSI nicht verfügbar sind, müssen Sie eine externe Schriftart angeben.

Der Code, den Sie freigegeben haben jeden Versuch machen keine externe Schriftart oder verwenden Sie den Standard DejaVu Familie in der Bibliothek gebündelt zu laden.

Verwandte Themen