1

私の問題は、CakePhP ビュー内で pdf をレンダリングしたいということです。

したがって、いくつかのhtml/phpを含むビューがあり、ページの最後にいくつかのpdfをレンダリングしたい(pdfをリンクしたくない、実際には同じページにレンダリングする必要がある)。

それを行う方法について何かアイデアがあれば、それは素晴らしいことです:)

ありがとうございました。

4

1 に答える 1

5

HTML と PDF を混在させて、ブラウザーが正しく表示することを期待することはできません。PDF を HTML に変換するか、PDF を iframe に表示する必要があります。

後者が機能するには、通常、Content-Dispositionof typeを送信する必要があります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;
}

詳細については、クックブックを確認してください。

于 2013-09-11T11:55:59.547 に答える