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);
试试这个方法。
我正在使用 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);
试试这个方法。