Yii2 Mpfd Kullanımı Mustafa's Blog
PDF formatında vermek istediğiniz veriler için kullanabileceğiniz işe yarar bir paket. 

Paketin dokümantasyonu var kullanmak için ordanda yararlanabilirsiniz. 
Kartik mPDF

Ben sözleşme oluşturmak için kullandım bu paketi. Nasıl kullanacağımızı anlatmaya çalışacağım.

Hemen terminalimizi açıyoruz ve proje dizinimize geldikten sonra composer ile paketimizi çekelim.

composer require kartik-v/yii2-mpdf "*"

Ya da composer.json dosyanıza,

"kartik-v/yii2-mpdf": "*",

Bu satırı ekledikten sonra composer update yapın. Ve paketimiz kuruldu.

Kullanıdığım projede sözleşme formunu dolduran kullanıcı bilgileri html bir sözleşme şablona basarak pdf formatında alabiliyor. Kullanıdığını controller da ilk önce bir action oluşturalım ve controller ın içine;

use kartik\mpdf\Pdf;

Şimdi bir action oluşturalım. actionPdf tabi birden fazla sözleşme olacağı için ben parametre ile almak zorundayım. 

public function actionPdf ($id)
{

$sozlesme = $this->findModel($id);

$pdf = new Pdf([
'mode' => Pdf::MODE_UTF8,
//Charset Belirledik
'format' => Pdf::FORMAT_A4,
//Kağıt Formatı
'destination' => Pdf::DEST_BROWSER,
'orientation' => Pdf::ORIENT_PORTRAIT,
//Yatay mı Dikey mi
'filename' => "Proje Yönetim Sistemi - $sozlesme->no.pdf",
//İndirilirken dosya adını belirledik
'content' => $this->renderPartial('sozlesme_html',['sozlesme'=>$sozlesme]),
//basacağımız html şablonu belirledik
'cssFile' => '@web/css/sozlesme.css',
//Css dosyası çağırdık(İstersiniz html tag ler arasına yazın)
'options' => [
'title' => 'Proje Yönetimi - Sözleşme',
//Başlığı belirledik
],
'methods' => [
'SetHeader'=>["Proje Yönetim Sistemi / $sozlesme->no"],
//Pdf in üst bilgisi
'SetFooter'=>['{PAGENO}'],
//Pdf in alt bilgisi
]
]);
return $pdf->render();

}

Contentte belirlediğim sozlesme_html'i view dosyasında oluşturun ve bu şablonda hangi veriyi nereye basmak isterseniz yerleştirin ve hazır. 

Bol projeli günler :)