Ich versuche, kartik mpdf verwenden, um Daten in eine PDF-Datei zu drucken. Ich habe ein ähnliches Problem wie - yii2 basic printing a page in pdf. Ich habe die dort angegebene Lösung ausprobiert aber immer noch den Fehler bekommen. anzeigen Datei (der Code für die Schaltfläche) -undefined Variables Modell in kartik mpdf - yii2
<?= Html::a('<i class="fa glyphicon glyphicon-print"></i> Print Salary Statement', ['/salary/salary/printsalarystatement'], [
'class'=>'btn btn-primary',
'target'=>'_blank',
'data-toggle'=>'tooltip',
'title'=>'Will open the generated PDF file in a new window'
]);?>
-Controller
public function actionPrintsalarystatement() {
$pdf = new Pdf([
'content'=>$this->renderPartial('_printSalarystatement'), [
'model'=> $model,
'mode'=> Pdf::MODE_CORE,
'format'=> Pdf::FORMAT_A4,
'orientation'=>Pdf::ORIENT_POTRAIT,
'destination'=> Pdf::DEST_BROWSER,
'cssFile' => '@vendor/kartik-v/yii2-mpdf/assets/kv-mpdf-bootstrap.min.css',
'cssInline'=> '.kv-heading-1{font-size:18px}',
'options'=> ['title'=> 'Salary Statement'],
'methods'=> [
'setHeader'=>['Generated on: '.date("r")],
'setFooter'=>['|page {PAGENO}|'],
]
],
]);
return $pdf->render();
}
Präsens view.php -
<?= Html::a('<i class="fa glyphicon glyphicon-print"></i> Print Salary Statement', ['/salary/salary/printsalarystatement?id=s_id'], [
'class'=>'btn btn-primary',
'target'=>'_blank',
'data-toggle'=>'tooltip',
'title'=>'Will open the generated PDF file in a new window'
]);?>
Geschenk-Controller
public function actionPrintsalarystatement($id) {
//$model = Salary::find()->where(['s_id' => $id]);
$model = $this->findModel($id);
$searchModel = new SalarySearch();
$dataProvider = $searchModel->search(Yii::$app->request->queryParams);
$data = Salary::findOne($id);
$content = $this->renderPartial('_printSalarystatement', ['model' => $model,'dataProvider' => $dataProvider,'searchModel' => $searchModel,'data'=> $data]);
$pdf = new Pdf([
'mode'=> Pdf::MODE_CORE,
'format'=> Pdf::FORMAT_A4,
'destination'=> Pdf::DEST_BROWSER,
'content' => $content,
]);
return $pdf->render();
}
Ich bin nicht so sicher, was Sie reden. Es gibt 'model' => $ model, unter 'content' => $ this-> renderPartial ('_ printSalarystatement'). Bitte sagen Sie mir, welche Änderungen vorgenommen werden müssen. – Tanmay
Ich kann Ihnen nicht wirklich sagen, was getan werden muss, ohne mehr Code zu sehen. Was ich frage ist, wo definierst du diese '$ model' Variable? D.h., woher kommen die Daten, die '_printSalarystatement' bevölkern? – ldg
_printSalarystatement ist eine einfache Kopie der 'Ansicht' Datei. Die Daten stammen von Model Salary. Lass mich wissen, welchen Code du willst? – Tanmay