使用cakephp在视图中渲染pdf

时间:2013-09-11 08:45:44

标签: cakephp pdf view render

我的问题是我想在CakePhP视图中呈现pdf。

所以我有一些html / php视图,在页面的末尾我想渲染一些pdf(我不想链接pdf,真的需要在同一页面上渲染它们。)

如果您对如何做到这一点有任何想法,那将会很棒:)

谢谢。

1 个答案:

答案 0 :(得分:5)

您无法混合使用HTML和PDF,并且希望浏览器能够正确显示它,这是行不通的。您必须将PDF转换为HTML,或在iframe中显示PDF。

对于后者工作,您通常需要发送Content-Disposition类型inline,当然它需要一个本机支持PDF或安装了相应插件的浏览器。

这是一些基本的示例代码。在视图中:

<p>Some html</p>
<iframe width='123' height='456' src='/path/view_pdf'></iframe>

然后在链接控制器中操作响应内联PDF数据,这在Cake 2.x中非常简单:

public function view_pdf()
{
    $this->response->file('/path/to/the/file.pdf');
    $this->response->header('Content-Disposition', 'inline');
    return $this->response;
}

有关详细信息,请查看Cookbook