ผู้สนับสนุน

วันจันทร์ที่ ๓๐ มีนาคม พ.ศ. ๒๕๕๒

PHP สร้าง PDF ภาษาไทย

ขอบคุณ @gookcompsci narisa.com  fpdf.org fpdf.org phorum 

ขั้นแรก ไป download fpdf จาก fpdf.org ก่อน

แตกไฟล์ออกมามันจะประกอบด้วย dir และ file ต่างๆ ดังนี้


เอาทั้งหมดนี้ไปวางไว้ใน dir ที่จำใช้ทำงาน เช่น ทำงานที่ workspace/ ก็เอาไปวางเป็น workspace/fpdf/ เป็นต้น(ปรับแก้ได้ตามใจนะไม่ได้บังคับใช้ในการอ้างอิงที่อยู่เท่านั้น)

อันนี้ code ลองทดสอบอันแรก เอามาจาก fpdf.org เลยเพื่อทดสอบว่า fpdf ทีเราเอามาใช้งานได้จริง
สมมติว่า save เป็นไฟล์ "firstpage.php" ไว้ที่ workspace/ 
เราก็จะเข้าไปทดสอบได้จาก http://hostname/.../workspace/firstpage.php 

<?php
 
require('./fpdf/fpdf.php');
 
$pdf=new FPDF();
 
$pdf->AddPage();
 
$pdf->SetFont('Arial','B',16);
 
$pdf->Cell(40,10,'Hello World!');
 
$pdf->Output();
 
?>

ถ้าได้ก็ไปต่อได้ถ้าไม่ได้ก็ลองใหม่(-_-)

ขั้นที่ 2 เตรียม font (ทำบน Windows Vista)
download ตัวทำ font http://www.fpdf.org/fr/dl.php?id=22
นำทั้งหมดมาที่ dir workspace/

copy font จาก dir font มาที่ dir ที่ทำงาน (เพื่อให้ง่าย)
ตัวอย่างเช่น เอา Font "Angsana New" จาก C:\Windows\Fonts มาใส่ไว้ที่ dir workspace/
โดยไฟล์ของ Font "Angsana New" ชื่อ angsa.ttf

ขั้นที่ 3
เปิด cmd ขึ้นมาแล้วย้ายตัวเองไปที่ dir workspace/
พิมพ์
ttf2pt1 -b -L cp874.map angsa.ttf angsa
จากขั้นตอนนี้จะได้ไฟล์มาสองตัวคือ angsa.afm กับ angsa.pfb copy ใส่ไว้ที่ workspace/fpdf/font/makefont/

ขั้นที่ 4
สร้างไฟล์ php 1 ไฟล์เพื่อสร้างfont ให้ใช้ได้กับ fpdf อีกที
สมมุติว่าชื่อ make_angsa.php อยู่ที่ workspace/fpdf/font/makefont/
<?
include('makefont.php');
MakeFont('angsa,pfb','angsa.afm','cp874')
?>

เปิด cmd แล้วมาที่ dir นี้พิมพ์
php make_angsa.php
จะได้ไฟล์ออกมาอีก 2 ไฟล์คือ angsa.php และ angsa.z
copy เอาทั้งสองตัวไปวางที่ workspace/fpdf/font/

น่าจะใช้ได้แล้วลองทดสอบโดย
<?php
 
require('./fpdf/fpdf.php');
 $str = "มอสสิล่า";
 
$pdf=new FPDF();
 $pdf->AddFont('angsa','','angsa.php');
 
$pdf->AddPage();
 
$pdf->SetFont('angsa','',16);
 
$pdf->Cell(40,10,$str);
 
$pdf->Output();
 
?>

น่าจะได้แล้วนะ

ขั้นที่ พิเศษ
จากผมที่ผมได้ลองถ้าเปลี่ยน encoding เป็น utf8 แล้วมันจะใช้ไม่ได้แฮะ(จำเป็นต้องใช้เพราะดึงข้อมูล utf8 จาก db) ผมก็เลยงงๆ ถามๆ ไปเรื่อย แล้วก็ได้คำตอบจาก  @gookcompsci ว่าให้ลองใช้ iconv ดู โดยให้ดูก่อนว่า php มันเปิด function นี้ไว้หรือเปล่าถ้ามันเปิดอยู่ก็ง่ายขึ้นครับ

อันนี้ตัวอย่างการใช้ iconv
<?
$str = "string encoding เริ่มต้นสมมุติว่าเป็น utf8";
//$str = iconv('encoding เริ่มต้น','encoding ปลายทาง','string ที่จะเปลี่ยน');
$str = iconv('UTF-8','CP874',$str); //ถูกแปลงเป็น CP874 ที่นี่
?>

ตัวอย่างการใช้งานกับ db
<?php
include('config.php');
include('opendb.php');
require('./fpdf/fpdf.php');
$sql = "SELECT * FROM user";
$result = mysql_query($sql);
$str = '';
while($row = mysql_fetch_array($result)){
        $str .= $row['name'];
}
$str = iconv('UTF-8','CP874',$str);

$pdf=new FPDF();
$pdf->AddFont('angsa','','angsa.php');
$pdf->AddPage();
$pdf->SetFont('angsa','',16);
$pdf->Cell(40,10,$str);
$pdf->Output();

include('closedb.php');

?>


เรื่องจัดหน้าใน pdf รบกวนอ่านใน fpdf.org

ซ้ำแล้วขออภัยบอกได้ ,ไม่ละเอียดไม่ชัดเจนบอกได้แก้ให้(ถ้าว่าง) ,มีวิธีที่ดีกว่าบอกได้ขอบคุณ(ม๊ากกๆ) ,จัดหน้า ใส่สีไม่สม่ำเสมอขออภัย

แนะนำติชมเพิ่มเติมเชิญตามอัธยาศัย ภาษาวัยรุ่นอะไรก็ได้อ่านออก


วันพุธที่ ๑๑ มีนาคม พ.ศ. ๒๕๕๒

วิธีใช้ Picasa

สำหรับคนที่กำลังหาที่เก็บรูป ไม่รู้จะเก็บที่ไหน ไม่รู้จะใช้ยังไง

ลองทำมาให้ดูเลยครับ ค่อยๆ ดูตามรูปเลยครับ ข้อความอธิบายไม่ค่อยเยอะต้องขออภัย

วันอังคารที่ ๑๐ มีนาคม พ.ศ. ๒๕๕๒

ภาษาไทยกับ ubuntu

ขั้นแรกสำหรับชาวไทยเมื่อลง ubuntu เสร็จแล้วไม่ได้เลือกภาษาตั้งแต่ต้น แน่นอนมันเป็นสิ่งที่ให้เราเกือบเลิกใช้มันได้เลย

มาดูวิธีแก้กัน ตามรูป mouse ไปเลย
คลิ๊กขวาที่ USA ที่ add เพิ่มเข้ามา

วันศุกร์ที่ ๖ มีนาคม พ.ศ. ๒๕๕๒

Resume-th


ชื่อ
นายสุเธียร รุจนเลิศ
การศึกษา ระดับปริญญาตรี สาขา วิทยาการคอมพิวเตอร์ มหาวิทยาลัยบูรพา สำเร็จการศึกษา (ณ วันที่ 24/11/2551)

ข้อมูลทั่วไป
  วันเกิด 23/11/2528 
   สถานที่เกิด แม่ฮ่องสอน 
   น้ำหนัก 67 kg. ส่วนสูง 178 cm. หมู่เลือด AB
   เชื้อชาติ ไทย สัญชาติ ไทย

ติดต่อ
  เบอร์โทร (+66) 82 454 2697
  อีเมล์  

สถานภาพทางการทหาร
 ผ่านการเรียนวิชานักศึกษาวิชาทหารชั้นปีที่ 5 (ส่วนของทหารเรือ)


เงินเดือนที่ต้องการ: มากกว่า 20,000 บาทหรือตามตกลง
ประสบการณ์การทำงาน
  1. ฝึกงาน NECTEC KEA Bioinformatic (2 เดือน):เขียนโปรแกรมภาษา Java และงานเกี่ยวกับ Graph Algorithm, Graph Layout อ้างอิง
  2. NECTEC KEA Bioinformatic (1 เดือน): เขียนโปรแกรมภาษา Java และงานเกี่ยวกับ Graph Algorithm
  3. TOSF มหาวิทยาลัยบูรพา(9 เดือน): web developer โดยใช้ PHP, MySql , PHP Framework Codeigniter ,Ajax(Prototype) เป็นผู้ร่วมพัฒนาหลักของ Kuisci
  4. Atiz innovation(1 ปี 6 เดือน) : multi language programmer เช่น C#, Java, python, C, Bash เป็นต้นและทักษะพิเศษในการ compile Linux kernel ปรับแก้เล็กน้อย และ Web programming(PHP codeigniter , Symfony, SQL) 

ความสามารถความถนัด
  • English skill: read(good),listen(good),write(fair),speak(fair)
  • Graph layout algorithm, Graph theory
  • 2D-3D Graphic programing
  • Web programming 
    • PHP, Ruby, JSP, Javascript, CSS, MySQL, XML
    • Ajax:Prototype
    • Framework : Codeigniter, Rail, Symfony
  • Version control : svn
  • Editor and IDE tools: vi, Eclipse, Notepad++, gEdit, Komodo, Netbean, JEdit, JCreator
  • Application programming:
    • C,C++ ,gtk
    • Java (swing,util,library อื่นๆ)
    • Python (PyQt,xml)
    • Objective-C (basic)
ความสนใจ
  • Mobile Application development 
  • Cross platform application (Java,Python,Web application)
  • Web 2.0 ,Social network 
  • Data structure และ Algorithm (ex. graph)
  • Open source(ex. Linux , Chrome)

ผลงาน

  1. ร่วมงาน CodeFest#2(image processing OCR with c++) #3(Linux live usb) #4(Debian packaging)
  2. สอบแข่งขัน NLC#9 และสอบวัดมาตรฐาน NLCP(NECTEC Linux Certified Professional) ผ่านระดับ 1 อ้างอิง
  3. รายงานปัญหาการใช้งานโปรแกรมของ Browser Chrome เรื่องภาษาไทยจนได้รับการแก้ไขเป็นที่เรียบร้อย
  4. ผู้ช่วยวิทยาการโครงการ Linux Sis
  5. เข้าค่ายโอลิมปิคชีววิทยา สอวน. ถึงค่าย 2 (มัธยมศึกษาปีที่ 5)
  6. Blog เกี่ยวกับการเขียนโปรแกรมและทางด้านไอที http://mossila.blogspot.com/

ภาษาในการเขียนโปรแกรม
ภาษาการนำไปใช้
Python + pyqt
Senior project:Graph visualization demo source code
PHP ทำงาน โดยใช้ Framework Codeigniter 
Ajax ใช้ร่วมกับ PHP ใช้ Prototype
SQL MySql
Java
ฝึกงานและทำงาน ที่ NECTEC ทำเกี่ยวกับ Graph Layout Algorithm และ Graph Algorithm , Web service

OS
  • Windows: Windows XP, Windows Vista
  • Linux: Ubuntu ,Debian
  • Mac

Social network

งานอดิเรก
  • เขียน blog ,ออกกำลัง ,อ่านหนังสือ ,ดูหนัง
  • ร่วมงาน user generating event เช่น twitbkk#2

กิจกรรมที่เคยทำ
  1. เป็นรองประธานรุ่นของคณะวิทยาศาสตร์มหาวิทยาลัยบูรพารุ่นปี 47
  2. กิจกรรมค่ายวิทยาศาสตร์
  3. พี่เลี้ยงค่ายโอลิมปิคคอมพิวเตอร์ สอวน.
  4. ผู้ประสานงานในการจัดงานวันวิทยาศาสตร์
This resume online at GoogleDocs