 |
|
ตอนหลังผมไปถูกใจ tcpdf ในโหมดของ EOD
หลักการคือใส่ทุกอย่าง ตั้งแต่ html css php ให้อยู่ใน EOD
เวลามัน gen เป็น pdf มันตอบโจทย์มากจริง ๆ
ตย.อาจจะยาวหน่อย อันนี้เขียนใน CI
เสียดายตัวงานจริง HDD server พังเลย พังพินาศ ฐานข้อมูลเกลี้ยง T^T
$this->load->library('Tcpdfx');
class MYPDF extends TCPDF {
public $datafromdb;//<-- to save your data
function __construct( $datafromdb , $orientation, $unit, $format )
{
parent::__construct( $orientation, $unit, $format, true, 'UTF-8', false);
// echo $datafromdb;
// print_r($datafromdb);
// echo "<hr>";
$this->datafromdb = $datafromdb->teacherName;
//...
}
public function Header() {
// print_r($datafromdb);
// $image_file = 'http://council.buu.ac.th/image/LogoBuuThai.jpg';
$image_file = K_PATH_IMAGES.'buu.png';
$this->Image($image_file, 'C', 5, 25, '', 'PNG', false, 'C', false, 300, 'C', false, false, 0, false, false, false);
$this->SetFont('thsarabun', 'B', 18);
$this->Ln(33);
$this->Cell(0, 10, 'รายชื่อนิสิตที่ '.$this->datafromdb.' เป็นอาจารย์ที่ปรึกษาหลักควบคุมวิทยานิพันธ์', 0, false, 'C', 0, '', 0, false, 'M', 'M');
}
}
$pdf = new MYPDF($get_teacher_name,PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true,
'UTF-8', false);
$pdf->SetCreator(PDF_CREATOR);
$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE, PDF_HEADER_STRING);
$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN));
$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA));
$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);
// $pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);
$pdf->SetMargins(15, 45, 10, true);
$pdf->SetHeaderMargin(PDF_MARGIN_HEADER);
$pdf->SetFooterMargin(PDF_MARGIN_FOOTER);
$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);
$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);
$pdf->SetFont('thsarabun', '', 14, '', true);
$pdf->AddPage('L', 'A4');
$tbl = <<<EOD
<style>
td{
border:1px solid #CCC;
}
</style>
<table cellspacing="0" cellpadding="1" border="0" style="width:950px;">
<thead>
<tr>
<td align="center" bgcolor="#F2F2F2" width="30">#</td>
<td align="center" bgcolor="#F2F2F2" width="180">ชื่อ-นามสกุล</td>
<td align="center" bgcolor="#F2F2F2" width="370">ภาษาไทย</td>
<td align="center" bgcolor="#F2F2F2" width="370">ภาษาอังกฤษ</td>
</tr>
</thead>
<tbody>
EOD;
foreach ($get_store as $key => $value) {
$num = $key+1;
$name = $value->arrTitle[0]->titleName.$value->arrNisitName[0]->nisitName;
if (empty($value->arrThesisName)) {
$thai = '-';
$eng = '-';
}else{
$thai = $value->arrThesisName[0]->thesisNameThai;
$eng = $value->arrThesisName[0]->thesisNameEng;
}
$tbl .= <<<EOD
<tr>
<td align="center" width="30">$num</td>
<td align="left" width="180"> $name</td>
<td align="left" width="370"> $thai</td>
<td align="left" width="370"> $eng</td>
</tr>
EOD;
if($num==6){
$tbl .= <<<EOD
</tbody></table>
EOD;
$pdf->writeHTML($tbl, true, false, false, false, '');
$pdf->lastPage();
$pdf->AddPage('L', 'A4');
$tbl = <<<EOD
<style>
td{
border:1px solid #CCC;
}
</style>
EOD;
$tbl .= <<<EOD
<table cellspacing="0" cellpadding="1" border="1" style="width:950px;">
<thead>
<tr>
<td align="center" bgcolor="#F2F2F2" width="30">#</td>
<td align="center" bgcolor="#F2F2F2" width="180">ชื่อ-นามสกุล</td>
<td align="center" bgcolor="#F2F2F2" width="370">ภาษาไทย</td>
<td align="center" bgcolor="#F2F2F2" width="370">ภาษาอังกฤษ</td>
</tr>
</thead>
<tbody>
EOD;
}
//
}
$tbl .= <<<EOD
</tbody></table>
EOD;
$pdf->writeHTML($tbl, true, false, false, false, '');
$pdf->Output('example_001.pdf', 'I');
|
 |
 |
 |
 |
Date :
2019-01-31 08:25:42 |
By :
apisitp |
|
 |
 |
 |
 |
|
|
 |