$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);
//set auto page breaks
$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);
$pdf->setHeaderMargin(PDF_MARGIN_HEADER);
$pdf->setFooterMargin(PDF_MARGIN_FOOTER);
//set image scale factor
$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);
$pdf->setHeaderFont(array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN));
$pdf->setFooterFont(array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA));
$pdf->setLanguageArray($l);
//set language items
// set default alignment for cells
$defalign = $l['a_meta_dir'] == 'rtl' ? 'R' : 'L';
if (defined('K_DIGSIG_ENABLE') and K_DIGSIG_ENABLE) {
    // set document signature
    $pdf->setSignature(K_DIGSIG_CERTIFICATE, K_DIGSIG_PRIVATE_KEY, K_DIGSIG_PASSWORD, K_DIGSIG_EXTRA_CERTS, K_DIGSIG_CERT_TYPE, array('Name' => K_DIGSIG_NAME, 'Location' => K_DIGSIG_LOCATION, 'Reason' => K_DIGSIG_REASON, 'ContactInfo' => K_DIGSIG_CONTACT));
}
// calculate some sizes
$cell_height_ratio = K_CELL_HEIGHT_RATIO + 0.1;
$page_width = $pdf->getPageWidth() - PDF_MARGIN_LEFT - PDF_MARGIN_RIGHT;
$data_cell_height = round($cell_height_ratio * PDF_FONT_SIZE_DATA / $pdf->getScaleFactor(), 2);
$main_cell_height = round($cell_height_ratio * PDF_FONT_SIZE_MAIN / $pdf->getScaleFactor(), 2);
$data_cell_width = round($page_width / $page_elements, 2);
$data_cell_width_third = round($data_cell_width / 3, 2);
$data_cell_width_half = round($data_cell_width / 2, 2);
// ---- module
$andmodwhere = '';
if ($expmode < 3) {
    $andmodwhere = 'module_id=' . $module_id . '';
}
$sqlm = F_select_modules_sql($andmodwhere);