php - How to load html file inside cakephp using dompdf
问题描述
I am using dompdf with cakephp 3.6 to generate prints from HTML to PDF
I have a function name test inside drivercontroller and i want to load a ctp file which is created inside src\Template\DriverDetails and filename is testpdf.ctp
Can u plz help me to suggest how to pass complete file.
Below is my code
public function test() {
$html = file_get_contents("testpdf.ctp");
$dompdf = new Dompdf();
$dompdf->loadHtml($html);
$dompdf->setPaper('A4', 'portrait');
$dompdf->render();
$dompdf->stream("invoice.pdf", array("Attachment" =>0));
exit(0);
}
src\Template\DriverDetails\testpdf.ctp
<html>
<body>
<table>
<tr><td align="center"><?php echo $id; ?></td></tr>
<tr><td align="center">Demo Data</td></tr>
</table>
</body>
</html>
解决方案
你可以这样试试。
public function test()
{
$data = "This can be accessible in view file";
$builder = $this->viewBuilder();
$builder->autoLayout(false);
// set your template path [don't use .ctp]
$builder->template('Users/add');
//Pass data into view file
$view = $builder->build(['data' => $data]);
//Render view file content and store into variable
$viewContent = $view->render();
var_dump($viewContent);
}
推荐阅读
- css - 覆盖浏览器强制自动填充背景颜色 - 跨浏览器?
- reporting-services - 如何制作静态表格
- ruby-on-rails - VueJS 与多页 Rails 6 应用程序与 Turbolinks - 布局
- java - Android Studio:SQLite 某种形式的测验。在 logcat 中出现错误
- python - Discord 机器人 Python API guild.members
- android - Android Studio Emulator 被杀
- javascript - 如何使用节点刷新 JWT 令牌并做出反应
- kubernetes - Kubernetes 中的示例容器化应用程序无法在 Prometheus 中显示为用于抓取指标的目标
- excel - Excel VBA更新范围内的单元格
- reactjs - 使用反应钩子更新 setState