私はWkHtmlToPdfコンポーネントを使おうとしていますが、PDFファイルの生成の問題に直面したときは素晴らしいツールのようです。
ただし、Authコンポーネントで動作させることができません。問題は、ログインページが常にpdfに生成されることです。私はログに記録されていますが、アクションはbeforeFilterで許可されていますが、それでもどういうわけか邪魔になります。
編集:
AppController:
var $components = array('Auth', 'Session');
function beforeFilter()
{
$this->Auth->logoutRedirect = array('controller' => 'users', 'action' => 'login');
if (!$this->Auth->user())
{
$this->layout = 'login';
}
}
コントローラ:
var $components = array('WkHtmlToPdf');
function beforeFilter() // I am logged in, so this shouldn't even be needed
{
$this->Auth->allow('pdf');
}
function pdf()
{
$this->WkHtmlToPdf->createPdf();
}
// this function is required for wkhtmltopdf to retrieve
// the viewdump once it's rendered
function getViewDump($fileName)
{
$this->WkHtmlToPdf->getViewDump($fileName);
}
どんな助けでも大歓迎です、ポール