|
|
|
ออกรายงานเป็น pdf ใส่หัวข้อเป็นภาษาไทยไมไม่ได้ ทำไงดีค่ะ |
|
|
|
|
|
|
|
Code (PHP)
<?php
require_once("FPDF/ThaiPDF.class.php");
define('FPDF_FONTPATH','font/');
class PDF extends ThaiPDF{
//function เปลี่ยนภาษา
function conv($string) {
return iconv('UTF-8', 'TIS-620', $string);
}
//Load data<font></font>
function LoadData($file){
$lines=file($file);
$data=array();
foreach($lines as $line)
$data[]=explode(';',chop($line));
return $data;
}
//ใส่ข้อความด้านบน
function Header(){
//Logo
//$this->Image('logo.png',10,8,33);
//Arial bold 15
//Move to the right
//Title
$this->AddFont('angsa','','angsa.php');
$this->SetFont('angsa','',36);
$this->SetFont('Arial','B',15);
$this->Cell(65 , 30,'ระบบจัดการข้อมูลการบริจาคเลือด',0,0,'C');
$this->Text( 35 , 37, $this->iconv('UTF-8','TIS-620','กรณีศึกษา หน่วยคลังเลือดและเวชศาสตร์บริการโลหิต โรงพยาบาลสงขลานครินทร์ '),0,1,"C");
$this->Text( 45 , 44, $this->iconv('รายงานการบริจาคเลือดประจำวันที่ $DD เดือน $month1 พ.ศ. $year'));
$this->Cell(30,10,'My Title',0,0,'C');
$this->Cell(0,20,iconv( 'UTF-8','TIS-620','สวัสดี ชาวไทยครีเอท'),0,1,"C");
$this->Text( 2 , 2,'ระบบจัดการข้อมูลการบริจาคเลือด');
$this->Text( 35 , 5, $this->conv('กรณีศึกษา หน่วยคลังเลือดและเวชศาสตร์บริการโลหิต โรงพยาบาลสงขลานครินทร์ '));
//$pdf->Text( 45 , 5, $pdf->conv('รายงานการบริจาคเลือดประจำวันที่ $DD เดือน $month1 พ.ศ. $year'));
//Line break
$this->Ln(30);
}
function BasicTable($header,$data){
//Header<font></font>
$w=array(5,20,30,15,1,30,20);
//Header<font></font>
for($i=0;$i<count($header);$i++)
$this->Cell($w[$i],7,$header[$i],1,0,'C');
$this->Ln();
//Data<font></font>
foreach ($data as $eachResult){
$this->Cell(5,6,$eachResult["ID"],1);
$this->Cell(20,6,$eachResult["FirstName"],1);
$this->Cell(30,6,$eachResult["LastName"],1);
$this->Cell(15,6,$eachResult["Status"],1);
$this->Cell(1,6,$eachResult["Sex"],1);
$this->Cell(15,6,$eachResult["Email"],1);
$this->Cell(15,6,$eachResult["Lastvisit"],1);
$this->Ln();
}
}
//Better table<font></font>
function ImprovedTable($header,$data){
//Column widths<font></font>
$w=array(5,20,30,15,1,30,20);
//Header<font></font>
for($i=0;$i<count($header);$i++)
$this->Cell($w[$i],7,$header[$i],1,0,'C');
$this->Ln();
//Data<font></font>
foreach ($data as $eachResult){
$this->Cell(20,6,$eachResult["ID"],1);
$this->Cell(25,6,$eachResult["FirstName"],1);
$this->Cell(25,6,$eachResult["LastName"],1);
$this->Cell(25,6,$eachResult["Status"],1);
$this->Cell(10,6,$eachResult["Sex"],1);
$this->Cell(50,6,$eachResult["Email"],1);
$this->Cell(50,6,$eachResult["Lastvisit"],1);
$this->Ln();
}
//Closure line<font></font>
$this->Cell(array_sum($w),0,'','T');
}
//Colored table<font></font>
function FancyTable($header,$data){
//Colors, line width and bold font<font></font>
$this->SetFillColor(255,0,0);
$this->SetTextColor(255);
$this->SetDrawColor(128,0,0);
$this->SetLineWidth(.3);
$this->SetFont('','B');
//Header<font></font>
$w=array(15,25,25,25,10,50,40);
for($i=0;$i<count($header);$i++)
$this->Cell($w[$i],7,iconv('UTF-8', 'TIS-620', $header[$i]),1,0,'C',true);
$this->Ln();
//Color and font restoration<font></font>
$this->SetFillColor(224,235,255);
$this->SetTextColor(0);
$this->SetFont('');
//Data<font></font>
$fill=false;
foreach($data as $row){
$this->Cell($w[0],6,$row[0],'LR',0,'C',$fill);
$this->Cell($w[1],6,$row[1],'LR',0,'L',$fill);
$this->Cell($w[2],6,$row[2],'LR',0,'L',$fill);
$this->Cell($w[3],6,$row[3],'LR',0,'C',$fill);
$this->Cell($w[4],6,$row[4],'LR',0,'C',$fill);
$this->Cell($w[5],6,$row[5],'LR',0,'L',$fill);
$this->Cell($w[6],6,$row[6],'LR',0,'L',$fill);
$this->Ln();
$fill=!$fill;
}
$this->Cell(array_sum($w),0,'','T');
}
}
$pdf=new PDF();
//$pdf->Text( 2 , 2,'ระบบจัดการข้อมูลการบริจาคเลือด');
//$pdf->Text( 35 , 5, $pdf->conv('กรณีศึกษา หน่วยคลังเลือดและเวชศาสตร์บริการโลหิต โรงพยาบาลสงขลานครินทร์ '));
//$pdf->Text( 45 , 5, $pdf->conv('รายงานการบริจาคเลือดประจำวันที่ $DD เดือน $month1 พ.ศ. $year'));
//$pdf->Write(10, "ระบบจัดการข้อมูลและแจ้งเตือนความต้องการเลือด \n");
//$pdf->Image("FPDF/tutorial/mo.gif", 70, 5,45,15,"");
//$pdf->SetFont("angsa", 'B', 18);
//Column titles<font></font>
$header=array('ลำดับ','รหัสผู้บริจาคเลือด','ชื่อ-นามสกุล','สถานะ','เพศ','อีเมล์','เข้าใช้งานล่าสุด');
//Data loading<font></font>
//*** Load MySQL Data ***//<font></font>
$objConnect = mysql_connect("localhost","root","root") or die("Error Connect to Database");
$objDB = mysql_select_db("blood");
mysql_query("SET NAMES 'tis620' ");
$strSQL = "SELECT * FROM donor d JOIN donation do ON d.DonorID = do.DonorID WHERE do.Date_Donation BETWEEN ('".$DD."') and ('".$DF."') order by Date_Donation ASC";
$objQuery = mysql_query($strSQL);
$resultData = array();
for ($i=0;$i<mysql_num_rows($objQuery);$i++) {
$result = mysql_fetch_array($objQuery);
array_push($resultData,$result);
}
//************************//<font></font>
$pdf->AddFont('angsa','B','angsa.php');
$pdf->AddFont('angsa','','angsa.php');
$pdf->SetFont('Arial','',10);
//*** Table 1 ***//<font></font>
$pdf->AddPage();
//$pdf->SetMargins(32, 30);
$pdf->SetFont('angsa','',16);
//$pdf->Image('logo.png',80,8,33);
//$pdf->Ln(35);
//$pdf->BasicTable($header,$resultData);
//*** Table 2 ***//<font></font>
//$pdf->AddPage();
//$pdf->Image('logo.png',80,8,33);
//$pdf->Ln(35);
//$pdf->ImprovedTable($header,$resultData);
//*** Table 3 ***//<font></font>
//$pdf->AddPage();
//$pdf->Image('FPDF/tutorial/mo.gif',80,8,33);
$pdf->Ln(35);
$pdf->FancyTable($header,$resultData);
$pdf->Output("FPDF/file/Dayblood.pdf","F");
?>
Tag : PHP
|
|
|
|
|
|
Date :
2012-10-13 05:52:08 |
By :
taengii |
View :
1755 |
Reply :
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ตัวนี้ผม addfont tahoma เข้าไปก่อน แล้วใช้ ฟังก์ชั่น iconv('UTF-8','cp874',$string); ก็ไม่มีปัญหานะครับ ภาษาไทยใช้ได้ดี แต่ไม่รู้ของคุณเหมือนกันว่า add angsana เข้าไปแล้วจะใช้ iconv('UTF-8','cp874',$string); ได้หรือเปล่า ยังไงลองดูก่อนครับ
|
|
|
|
|
Date :
2012-10-13 06:42:20 |
By :
maxairzoom |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 01
|