MPDF не удалось отобразить HTML в Code Igniter

Я разрабатываю свои простые приложения с помощью Code Igniter v 2.2 и последней версии MPDF для преобразования моего представления в PDF. Я уже перешел по этой ссылке для получения учебника Использование MPDF с CI

И мне не удалось получить вывод в формате PDF. :D

Я думал, что функция WriteHTML() не смогла отобразить мое представление. Вот мой код для этого

$this->load->library('m_pdf');
$pdf = $this->m_pdf->load();
$html = $this->load->view('cetak', true);
$pdf->WriteHTML($html);

Но когда я изменяю переменную $html на HTML-тег вот так, все работает.

$html = " <!DOCTYPE html>
      <html lang='en'>
      <head>
      <meta charset='utf-8'>
      <meta http-equiv='X-UA-Compatible' content='IE edge'>
      <meta name='viewport' content='width = device-width, initial-scale = 1'>
      <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
      <meta name='description' content=''>
      <meta name='author' content=''>
      <link rel='icon' href='../../favicon.ico'>

      <title>Home</title>

      <!-- Bootstrap core CSS -->
      <link href='http://127.0.0.1:666/ticketing/assets/css/paper_bootstrap.css' rel='stylesheet'>

      <!-- Custom styles for this template -->
      <link href='http://127.0.0.1:666/ticketing/assets/css/jumbotron-narrow.css' rel='stylesheet'>

      </head>

      <body>
      <div class='container'>
      <div class='header clearfix'>
      <nav>
      <ul class='nav nav-pills pull-right'>
      <li role='presentation' class='active'><a href='#'>Home</a></li>
      <li role='presentation'><a href='#'>Logout</a></li>
      </ul>
      </nav>
      <h3 class='text-muted'>King Jim Indonesia</h3>
      </div>

      <!-- Columns start at 50% wide on mobile and bump up to 33.3% wide on desktop -->
      <strong>Execute time : {elapsed_time} seconds</strong>
      <a href='http://127.0.0.1:666/ticketing/index.php/welcome/cetak/2015/3'>Cetak</a>
      <div class='row'>
      <div class='col-md-4' style='border: 1px solid #e1e1e8; margin-bottom: 5px;'>
      <table style='width: 100%; color: #0060f1'>
      <tr><td colspan='2' class='text-center' style='text-decoration: underline;'><strong>PT. KING JIM INDONESIA</strong></td></tr>
      <tr><td colspan='2' class='text-center' style='text-decoration: underline;'><strong>KUPON MAKAN</strong></td></tr>
      <tr><td colspan='2' class='text-center' style='text-decoration: underline;'><strong>juni, 2015</strong></td></tr>
      <tr>
      <td class='text-left'><h2 style='margin-top: 0px; margin-bottom: 0px; color: #0060f1'>12</h2></td>
      <td class='text-right'><h3 style='margin-top: 0px; margin-bottom: 0px; color: #144691'>212</h3></td>
      </tr>
      <tr><td colspan='2' style='font-size: 13px; font-style: italic'>1. Kupon ini hanya berlaku sesuai bulan & tanggal</td></tr>
      <tr><td colspan='2' style='font-size: 13px; font-style: italic'>2. Tidak dapat diuangkan</td></tr>
      </table>
      </div>
      <?php
      }
      ?>
      </div>
      <?php
      }
      ?>
      </div> <!-- /container -->
      </body>
      </html>";

Может ли кто-нибудь сказать мне, где мои ошибки. С Уважением.


person Iwan Bagus Setyawan P    schedule 30.04.2015    source источник


Ответы (2)


Вы пропустили получение строки из представления. Это потому, что вы передали true второму параметру. Второй параметр должен быть пустым или null, а третий параметр должен быть установлен в логическое значение, чтобы получить строку:

$html = $this->load->view('cetak', '', true);

Попробуйте так.

person Tpojka    schedule 30.04.2015

У вас есть html в двойных кавычках. Попробуйте использовать одинарные кавычки. Все ваши одинарные кавычки нужно будет либо экранировать, либо заменить на двойные кавычки.

person tsg    schedule 30.04.2015