Я новичок в торте, но мне как-то удалось пройти.После того, как я выяснил, что html2pdf - удобный способ создания pdf-документов из Cakephp, я установил html2ps / pdf, и после некоторых незначительных проблем это сработало.Итак, теперь я подхожу к тому, что если я не изменяю свои контроллеры до того, как функция Render будет выглядеть следующим образом:
function beforeFilter() {
parent::beforeFilter();
$this->Auth->allow('download','view');
}
, я просто вижу свою страницу входа в созданный мной PDF-файл.Установка в моей функции beforeRender значения $ this-> Auth-> allow открывает, очевидно, любой способ получить идеальный pdf без авторизации.Весь контроллер выглядит следующим образом:
<?php
class DashboardController extends AppController {
var $name = 'Dashboard';
var $uses = array('Aircrafts','Trainingplans',
'Fstds','Flights','Properties','Person');
function beforeFilter() {
parent::beforeFilter();
$this->Auth->allow('download','view');
}
function view() {
/* set layout for print */
$this->layout = 'pdf';
/* change layout for browser */
if> (!isset($this->params['named']['print']))
$this->layout = 'dashboard';
/* aircrafts */
$this->Aircrafts->recursive = 0;
$aircrafts =$this->Aircrafts->find('all');
$this->set('aircrafts',$aircrafts);
.... and so on....
$this->set('person_properties',$person_properties);
}
function download($id = null) {
$download_link = 'dashboard/view/print:1';
// Include Component
App::import('Component', 'Pdf');
// Make instance
$Pdf = new PdfComponent();
// Invoice name (output name)
$Pdf->filename = 'dashboard-' . date("M");
// You can use download or browser here
$Pdf->output = 'download';
$Pdf->init();
// Render the view
$Pdf->process(Router::url('/', true) . $download_link);
$this->render(false);
}
}
?>
Так что, по моему мнению, вызов процесса $ Pdf-> получает данные, вызывая более или менее представление, но этот процесс не вошел в систему или неДругими словами, не разрешено получать данные, которые я хочу представить в PDF.Так что теперь вопрос в том, как это сделать, не открывая мое приложение для всех.
С наилучшими пожеланиями, cdjw