pdf;
$pdf->setPrintHeader(false);
$pdf->setPrintFooter(true);
$pdf->startPageGroup();
$pdf->AddPage();
$pdf->setDestination('motion' . $motion->id, 0, '');
$pdf->Bookmark($motion->getTitleWithPrefix(), 0, 0, '', 'BI', array(128,0,0), -1, '#motion' . $motion->id);
$left = 23.5;
$abs = 5;
$fontsize = 30;
$this->setHeaderLogo($motion->getMyConsultation(), $abs, 50, null);
if ($this->headerlogo) {
$logo = $this->headerlogo;
$pdf->setJPEGQuality(100);
$pdf->Image('@' . $logo['data'], $logo['x'], $logo['y'], $logo['w'], $logo['h']);
$pdf->setY($logo['y'] + $logo['h'] + $abs);
}
$pdf->SetFont('helvetica', 'B', $fontsize);
$pdf->SetTextColor(40, 40, 40, 40);
//$pdf->SetXY($left, $wraptop);
$pdf->Write(0, mb_strtoupper($motion->motionType->getTitleSingularForDisplay(), 'UTF-8') . "\n");
$pdf->SetTextColor(100, 100, 100, 100);
$wraptop = $pdf->getY() + $abs;
$pdf->SetXY($left, $wraptop);
$pdf->SetFont('helvetica', 'I', 11);
$intro = $motion->getMyMotionType()->getSettingsObj()->pdfIntroduction;
if ($intro) {
$pdf->MultiCell(160, 0, $intro, 0, 'L');
$pdf->Ln(3);
}
$data = $motion->getDataTable();
foreach ($data as $key => $val) {
$pdf->SetX($left);
$pdf->MultiCell(42, 0, $key . ':', 0, 'L', false, 0);
$pdf->MultiCell(120, 0, $val, 0, 'L');
$pdf->Ln(5);
}
$pdf->Ln(9);
$pdf->SetFont('helvetica', 'B', 12);
$pdf->writeHTML('
' . Html::encode($motion->getTitleWithPrefix()) . '
');
$pdf->SetFont('helvetica', '', 12);
}
public function printAmendmentHeader(Amendment $amendment): void
{
$pdf = $this->pdf;
$pdf->setPrintHeader(false);
$pdf->setPrintFooter(true);
$pdf->startPageGroup();
$pdf->AddPage();
$pdf->setDestination('amendment' . $amendment->id, 0, '');
$pdf->Bookmark($amendment->getTitleWithPrefix(), 0, 0, '', 'BI', [128,0,0], -1, '#amendment' . $amendment->id);
$left = 23.5;
$abs = 5;
$title1Fontsize = 15;
$title2Fontsize = 25;
$dim = $pdf->getPageDimensions();
$logo = $amendment->getMyConsultation()->getAbsolutePdfLogo();
if ($logo) {
if (empty($this->headerlogo)) {
//$this->headerlogo['dim'] = getimagesize($site->getAbsolutePdfLogo());
$headerlogo = [];
$headerlogo['w'] = 50.0;
$headerlogo['scale'] = $headerlogo['w'] / $logo->width;
$headerlogo['h'] = $logo->height * $headerlogo['scale'];
$headerlogo['x'] = $dim['wk'] - $dim['rm'] - $headerlogo['w'];
$headerlogo['data'] = $logo->data;
if ($headerlogo['h'] + $abs < $dim['tm'] / 2) {
$headerlogo['y'] = $dim['tm'] - $headerlogo['h'] - $abs;
} else {
$headerlogo['y'] = $dim['tm'];
}
$this->headerlogo = $headerlogo;
}
$headerlogo = $this->headerlogo;
$pdf->setJPEGQuality(100);
$pdf->Image('@' . $logo->data, $headerlogo['x'], $headerlogo['y'], $headerlogo['w'], $headerlogo['h']);
$pdf->setY($headerlogo['y'] + $headerlogo['h'] + $abs);
}
$pdf->SetTextColor(100, 100, 100, 100);
$pdf->SetFont('helvetica', 'I', 11);
$pdf->SetXY($left, $pdf->getY());
$pdf->Ln(3);
$intro = $amendment->getMyMotionType()->getSettingsObj()->pdfIntroduction;
if ($intro) {
$pdf->MultiCell(0, 0, trim($intro), 0, 'L');
$pdf->Ln(3);
}
$pdf->SetTextColor(40, 40, 40, 40);
$pdf->SetFont('helvetica', 'B', $title1Fontsize);
$pdf->MultiCell(0, 0, trim($amendment->getMyMotion()->getTitleWithPrefix()), 0, 'L');
$pdf->Ln(3);
$pdf->SetFont('helvetica', 'B', $title2Fontsize);
$pdf->Write(0, mb_strtoupper(\Yii::t('amend', 'amendment') . ' ' . $amendment->getFormattedTitlePrefix(), 'UTF-8') . "\n");
$pdf->Ln(3);
$pdf->SetX($left);
$pdf->SetTextColor(100, 100, 100, 100);
$pdf->SetFont('helvetica', 'I', 11);
$data = $amendment->getDataTable();
foreach ($data as $key => $val) {
$pdf->SetX($left);
$pdf->MultiCell(42, 0, $key . ':', 0, 'L', false, 0);
$pdf->MultiCell(120, 0, $val, 0, 'L');
$pdf->Ln(5);
}
$pdf->SetFont('helvetica', '', 12);
$pdf->ln(7);
}
public function createPDFClass(): IPdfWriter
{
$pdf = new DBJRPDF($this);
$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);
$pdf->setCellHeightRatio(1.5);
$pdf->SetMargins(23, 40, 23);
$pdf->SetAutoPageBreak(true, PDF_MARGIN_BOTTOM - 5);
//set image scale factor
$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);
$pdf->SetFont('dejavusans', '', 10);
$pdf->setHtmlVSpace([
'ul' => [['h' => 0, 'n' => 0], ['h' => 0, 'n' => 0]],
'li' => [['h' => 0, 'n' => 0], ['h' => 0, 'n' => 0]],
'ol' => [['h' => 0, 'n' => 0], ['h' => 0, 'n' => 0]],
'div' => [['h' => 0, 'n' => 0], ['h' => 0, 'n' => 0]],
'p' => [['h' => 0, 'n' => 0], ['h' => 0, 'n' => 0]],
'blockquote' => [['h' => 0, 'n' => 0], ['h' => 0, 'n' => 0]],
]);
$this->pdf = $pdf;
return $pdf;
}
}