2012-10-11 75 views
0

我想知道是否可以在浏览器中加载操作的视图?在浏览器中呈现视图而不加载 - cakephp

我正在使用使用mPDF生成PDF文件的cakephp组件。如果你在浏览器中加载动作和视图,但是当我想要生成并保存pdf到驱动器,它似乎没有启动时,该组件运行良好,我假设这是因为视图不是加载属性。

我使用的成分是:https://github.com/segy/Mpdf

所以基本上我有使用上述成分,其产生一个pdf的函数叫做mail_merge,我需要从另一个函数调用相同的控制器内的mail_merge函数生成PDF,但没有在浏览器中加载。

感谢

UPDATE:

我制定了如何设置视图作为一个变量,然后把它写在功能的PDF。

添加了这个:

// RENDER THE VIEW AND SET AS A VARIABLE TO WRITE THE HTML 
// ---------------------------------------------------------------------------> 
$response = $this->render('mail_merge'); 
$thebody = $response->body(); 
$this->Mpdf->WriteHTML($thebody); 

不幸的是我的PDF仍然不会产生,所以我想这个问题是另一回事。

+0

你能不能通过AJAX打? – Dave

回答

1

试试这个方法:

$response = $this->render('mail_merge'); 
$thebody = $response->body(); 
$this->Mpdf->WriteHTML($thebody); 
$this->Mpdf->Output('filename.pdf'); 
+0

感谢您的回复,这实际上是我已经拥有的。我认为问题是出于某种原因与另一个函数中调用的组件。 6个多小时,但我仍然没有想出解决方案。 – sluggerdog

+0

你是指在另一个函数中调用的组件?你是否试图从组件渲染? –

+0

对不起,我错了,我原来的代码有点不同,我使用$ this-> Mpdf-> setOutput('filename.pdf');从不工作的组件,现在一切都是。感谢您的帮助! – sluggerdog

相关问题