MPDF 无法在 Code Igniter 中呈现 HTML

MPDF Failed to Render HTML in Code Igniter

我正在使用 Code Igniter v 2.2 和最新的 MPDF 开发我的简单应用程序,以将我的视图转换为 PDF。 我已经在关注这个 link 教程 Using MPDF with 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>";

任何人都可以告诉我我的错误在哪里。 问候。

您的 html 用双引号引起来。尝试使用单引号。您的所有单引号都需要转义或更改为双引号。

您未能从视图中获取字符串。这是因为您将 true 传递给了第二个参数。第二个参数应为空或 null,第三个参数需要设置为布尔值才能获取字符串:

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

试试这个方法。