2014-08-28 6 views
0

У меня есть вопрос для вас, поэтому я попытался экспортировать pdf-документ с php, используя dompdf, все идет хорошо, но когда я отправляю php-переменные для отображения, это добавляется к концу и началу.% 27Экспорт pdf-документа с использованием php с использованием dompdf

public function generateTitlePage($number_cadastral='') 
{ 
    $this->load->library('dompdf_gen'); 
    $dompdf = new DOMPDF(); 
    $html = <<<HTML 
     <html> 
     <head> 
      <meta charset="UTF-8"> 
      <link rel="stylesheet" type="text/css" media="screen" href="TitlePage.css" /> 
     </head> 
     <body> 
      <div style="margin-top: 100px; text-align: right; padding-right:100px;"> 
       Number:$number_cadastral 
       <div style="width: 150px;margin-left: 535px;size:1;"><hr style="margin:0px;"></div> 
      </div> 
      <div> 
     </body> 
     </html> 
    HTML; 

    $dompdf->load_html($html); 
    $dompdf->render(); 
    $dompdf->stream("welcome.pdf"); 

В этом случае переменная $ number_cadastral предшествует% 27, так что результат будет:..% +27,787883434% 27.Why добавить% 27 ?? Помогите мне пожалуйста

+0

лучше поместить все html в поле зрения и использовать $ html = $ this-> load-> view ('html_view_name', $ data, TRUE); и использовать этот html для создания pdf – umefarooq

+0

вы проверили, что ваш номер не содержит пробелов? –

+0

Мне не нравится выбранный ответ, он разбирает проблему, не фиксируя ее. Вы проверили, что ваша переменная не содержит дополнительных символов. % 27 - это одиночная кодировка URL. Попробуйте повторить переменную '$ html' вместо того, чтобы запускать ее через dompdf и посмотреть, что выйдет. – BrianS

ответ

1
<?php 
    $number_cadastral = ($number_cadastral != "")?preg_replace('/[%]+/','', $number_cadastral):""; 
    public function generateTitlePage($number_cadastral){ 
     $this->load->library('dompdf_gen'); 
     $dompdf = new DOMPDF(); 
     $html = ' 
      <html> 
      <head> 
       <meta charset="UTF-8"> 
       <link rel="stylesheet" type="text/css" media="screen" href="TitlePage.css" /> 
      </head> 
      <body> 
       <div style="margin-top: 100px; text-align: right; padding-right:100px;"> 
        Number:'.$number_cadastral.' 
        <div style="width: 150px;margin-left: 535px;size:1;"><hr style="margin:0px;"></div> 
       </div> 
       <div> 
      </body> 
      </html> 
     '; 

     $dompdf->load_html($html); 
     $dompdf->render(); 
     $dompdf->stream("welcome.pdf"); 
    } 
?> 

Try этот код.

+0

Не решить это: Я получаю '.% 27.1111111.% 27.' –

+0

@erhaneluion вы проверили, есть ли место до 27? –

+0

Да, нет пробелов –

Смежные вопросы