ให้เรตสมาชิก: 3 / 5

ดาวใช้งานดาวใช้งานดาวใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งาน
 

 

บทที่ 1 ทำความรู้จัก TCPDF Library สำหรับสร้างไฟล์ PDF ด้วยภาษา PHP

 

สำหรับสร้างไฟล์ PDF ด้วยภาษา PHP
สำหรับสร้างไฟล์ PDF ด้วยภาษา PHP



               การพัฒนาระบบบนเว็บไซต์ด้วยภาษา PHP (พีเอชพี) ไม่ว่าจะเป็นระบบซื้อขายสินค้า ระบบจอง หรือระบบบริหารจัดการต่างๆ มักจะมีส่วนของการออกรายงานข้อมูลให้ผู้ใช้ โดยรูปแบบของรายงานที่นิยมใช้จะมีทั้งเป็นหน้าข้อมูลแบบ HTML (เอชทีเอ็มแอล), Word (เวิร์ด), Excel (เอ็กเซล) และ PDF (พีดีเอฟ) ซึ่งการนำข้อมูลมาแสดงเป็นไฟล์ 3 รูปแบบหลังนั้นจะค่อนข้างยุ่งยาก ทำให้นักพัฒนาส่วนใหญ่เลือกที่จะนำส่วนเสริมหรือ Library เข้ามาช่วย ซึ่งภาษา PHP เป็นภาษาที่มีผู้พัฒนาจำนวนมากติดอันดับต้นๆ ของโลก ทำให้สามารถหาส่วนเสริมหรือ Library ที่รองรับกับภาษาได้ง่าย ในบทความนี้จะขอแนะนำ Library สำหรับสร้างไฟล์ PDF ที่ชื่อว่า TCPDF

               TCPDF เป็น Library ที่พัฒนาขึ้นด้วยภาษา PHP ใช้สำหรับสร้างเอกสารเป็นไฟล์ PDF เริ่มพัฒนาตั้งแต่ปี 2002 โดยนำ Library ที่ชื่อ FPDF มาปรับปรุงเพิ่มความสามารถต่างๆ เข้าไป และอัพเดทอย่างต่อเนื่อง นักพัฒนาที่สนใจนำไปใช้สามารถดาวน์โหลดได้ฟรีไม่มีค่าใช้จ่าย โดยมีผู้ดาวน์โหลดไปใช้งานมากกว่าล้านครั้ง รวมถึงระบบเว็บไซต์สำเร็จรูป (CMS), PHP Framework และ Library อื่นๆ ก็รวม TCPDF เข้ากับตัวหลักในระบบสำหรับใช้สร้างเอกสาร PDF เช่น Drupal, Moodle, phpMyAdmin, SugarCRM, Symfony, Yii และอีกมากมาย


ความสามารถหลักของ TCPDF

- สามารถใช้งานพื้นฐานได้ทันทีโดยไม่จำเป็นต้องติดตั้งอะไรเพิ่มเติมอีก
- กำหนดการตั้งค่ารูปแบบหน้ากระดาษแบบมาตรฐานและแบบกำหนดเอง รวมถึงกำหนดระยะขอบของกระดาษ กำหนดหน่วยวัดได้อย่างง่าย
- รองรับอักขระรูปแบบ UTF-8 Unicode ซึ่งทำให้สามารถใช้อักขระต่างๆ และรองรับภาษาไทย
- รองรับการติดตั้งตัวอักษร (Fonts) รูปแบบต่างๆ
- รองรับตัวอักษรที่เป็นพิมพ์เล็ก เช่น ภาษาอังกฤษแบบพิมพ์เล็ก และสัญลักษณ์ต่างๆ
- สามารถใช้คำสั่ง HTML CSS Javascript และสร้างฟอร์มได้
- สามารถใช้คำสั่งจัดการรูปภาพและกราฟิกได้
- แทรกไฟล์รูปภาพลงในเอกสาร PDF ได้ รองรับชนิดของไฟล์ GD, GD2, GD2PART, GIF, JPEG, PNG, BMP, XBM, XPM และ SVG
- สนับสนุนการสร้างบาร์โค้ดแบบ 1D และ 2D
- สามารถใส่สีรูปแบบต่างๆ ในเอกสาร
- รองรับการทำหัวกับท้ายกระดาษแบบอัตโนมัติ
- เข้ารหัสเอกสารได้ถึง 256 บิตและรับรองลายเซ็นดิจิทัล
- รองรับการทำ Transaction และการย้อนกลับการทำงาน เช่น ในระหว่างที่สร้างเอกสารอาจจะสร้างถึงหน้าที่ 10 แล้วเจอปัญหาของข้อมูลสามารถย้อนกลับไปก่อนสร้างหน้าที่ 10 แล้วเขียนข้อมูลใหม่ได้
- สามารถเพิ่มบันทึกย่อของเอกสาร แทรกลิงก์ และแนบไฟล์ดาวน์โหลดได้
- รองรับการแสดงข้อความในโหมดต่างๆ (Fill, Stroke, Clipping)
- สามารถสร้างข้อมูลแบบหลายคอลัมน์ได้
- สามารถกำหนดพื้นที่ของการแสดงข้อมูลข้อมูล ซึ่งข้อมูลส่วนที่เกินออกไปจะถูกตัดออก ทั้งวัตถุ รูปทรง หรือรูปภาพต่างๆ จะไม่แสดงผลเกินขอบที่กำหนดไว้
- รองรับการทำงานบุ๊คมาร์คและสารบัญของเอกสาร
- รองรับยัติภังค์ข้อความ ยัติภังค์เป็นเครื่องหมาย (-) สังเกตุในหนังสือหรือบทความที่มีข้อความยาวและจำเป็นต้องขึ้นบรรทัดใหม่แต่เป็นคำที่เขียนต่อกันจะนิยมใช้เครื่องหมาย (-) เพื่อบอกว่าเป็นคำที่ต่อเนื่องกัน
- สามารถกำหนดการยืดข้อความและระยะห่างของข้อความได้
- สามารถกำหนดการแบ่งหน้า ตัดบรรทัดแบบอัตโนมัติ และการจัดตำแหน่งของข้อความได้
- รองรับการแทรกเลขหน้าแบบอัตโนมัติ และการจัดกลุ่มของหน้า
- สามารถลบหน้าหรือย้ายหน้าในเอกสารได้
- สามารถบีบอัดหน้าเอกสารเพื่อให้ไฟล์มีขนาดเล็กลงและเปิดทำงานได้เร็วขึ้น (จำเป็นต้องเปิดส่วนเสริมของ PHP ชื่อ php-zlib)
- รองรับเทมเพลต XOBject สามารถสร้างรูปแบบสำเร็จรูปที่มีข้อความ รูปภาพหรือรูปทรงใดๆ เก็บเป็นเทมเพลตไว้ แล้วสามารถเรียกใช้แสดงผลได้ทุกส่วนของเอกสาร
- รองรับมาตรฐาน PDF/A-1b (ISO 19005-1:2005) ซึ่งเป็นมาตรฐานของเอกสาร PDF

จะเห็นได้ว่าความสามารถของ TCPDF ค่อนข้างจะครอบคลุมการสร้างเอกสาร PDF ในทุกรูปแบบ
สามารถดูข้อมูลเพิ่มเติมได้ที่เว็บไซต์ทางการ https://www.tcpdf.org
ดาวน์โหลด TCPDF ตัวล่าสุดได้ที่ https://www.github.com/tecnickcom/tcpdf

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
สรุปประชุมกับลูกค้า พรีโม เทรดดิ้ง จำกัด
โดย mindphp พ 23 ก.ย. 2020 10:46 am บอร์ด พรีโม เทรดดิ้ง (Main)
1
4
พ 23 ก.ย. 2020 10:47 am โดย mindphp
เจอปัญหา Forbidden You don't have permission to access /index.php on this server. Additionally, a 403 Forbidden error
โดย mindphp อ 22 ก.ย. 2020 12:58 am บอร์ด Programming - PHP
1
25
อ 22 ก.ย. 2020 7:44 pm โดย mindphp
มาแล้ว!!! MDSMS component สำหรับส่งข้อความผ่านทาง SMS บน Joomla
โดย bolue จ 21 ก.ย. 2020 5:17 pm บอร์ด MindPHP News & Feedback
0
15
จ 21 ก.ย. 2020 5:17 pm โดย bolue
สอบถามเรื่องการอ่านค่าสีสถานะของปุ่ม
โดย blebee90 จ 21 ก.ย. 2020 2:03 pm บอร์ด Programming - C/C++ & java & Python
1
22
จ 21 ก.ย. 2020 3:10 pm โดย mindphp
อัพเดดความคืบหน้า / Progress - พรีโม เทรดดิ้ง
โดย mindphp จ 21 ก.ย. 2020 11:45 am บอร์ด พรีโม เทรดดิ้ง (Main)
4
18
พ 23 ก.ย. 2020 4:20 pm โดย mindphp
ต้องการกำหนดรุปแบบของช่องกรอกให้เป็นเเพทเทิร์นของเบอร์โทร เเต่ไม่ต้องการให้กรอกตัวหนังสือ
โดย thatsawan พฤ 17 ก.ย. 2020 3:18 pm บอร์ด JavaScript & Jquery Ajax
5
74
พ 23 ก.ย. 2020 2:54 pm โดย thatsawan
สถานที่จัดงานแต่งงานชิคๆ แบบไม่ง้อโรงแรม
โดย Anonymous พฤ 17 ก.ย. 2020 2:10 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
40
พฤ 17 ก.ย. 2020 2:10 pm โดย บุคคลทั่วไป
วิธีแก้ ean13 ปัญหาที่เจอคืออะไร แก้ยังไง
โดย bolue พ 16 ก.ย. 2020 6:38 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
38
พ 16 ก.ย. 2020 6:38 pm โดย bolue
สอบวิธีการ check user ว่าเราใช้ user ไหนอยู่ตอนนี้ ได้มั้ยครับ ใน command บน Ubuntu
โดย jirawoot พ 16 ก.ย. 2020 11:25 am บอร์ด Programming - C/C++ & java & Python
3
72
พ 16 ก.ย. 2020 11:52 am โดย mindphp
หน้าเว็บ phpBB เจอปัญหาโหลด 404 บ้างครั้งไม่รู้ว่าเป็นเพราะอะไรได้บ้าง
โดย thatsawan พ 16 ก.ย. 2020 11:17 am บอร์ด Programming - PHP
5
64
อ 22 ก.ย. 2020 1:00 am โดย mindphp
phpBB เป็นโปรแกรมประเภทไหนมาดูกัน
โดย Udomsak2539 อ 15 ก.ย. 2020 6:25 pm บอร์ด phpBB user Guide Knowledge
0
50
อ 15 ก.ย. 2020 6:25 pm โดย Udomsak2539
รวบรวมข้อมูลเบื้องต้น phpBB คืออะไร ฟีเจอร์ และประวัติ
โดย fhakun อ 15 ก.ย. 2020 6:14 pm บอร์ด PHP Knowledge
0
52
อ 15 ก.ย. 2020 6:14 pm โดย fhakun
สอบถาม วิธีเปิดแจ้งเตือน skype ค่ะ
โดย fhakun อ 15 ก.ย. 2020 6:07 pm บอร์ด ถาม - ตอบ คอมพิวเตอร์
0
61
อ 15 ก.ย. 2020 6:07 pm โดย fhakun
ฟีเจอร์พื้นฐานของ phpBB
โดย fhakun อ 15 ก.ย. 2020 5:33 pm บอร์ด PHP Knowledge
0
54
อ 15 ก.ย. 2020 5:33 pm โดย fhakun
สอบถาม วิธีแทรกลิ้งค์ให้ข้อความค่ะ
โดย fhakun อ 15 ก.ย. 2020 4:42 pm บอร์ด ปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS, CRM
5
117
อ 15 ก.ย. 2020 5:05 pm โดย fhakun
สอบถาม วิธีติดตั้ง kazaam ใน ubantu ค่ะ
โดย fhakun อ 15 ก.ย. 2020 3:26 pm บอร์ด ถาม - ตอบ คอมพิวเตอร์
7
87
อ 15 ก.ย. 2020 4:38 pm โดย mindphp
ไม่ทราบว่า viewtopic ทำยังไง
โดย Udomsak2539 จ 14 ก.ย. 2020 6:47 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
2
55
อ 15 ก.ย. 2020 10:06 am โดย Udomsak2539
แนะนำโปรแกรม ibis paint และเครื่องมือตัดต่อง่ายๆใน 1 นาที สำหรับมือใหม่
โดย fhakun จ 14 ก.ย. 2020 6:45 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
59
จ 14 ก.ย. 2020 6:45 pm โดย fhakun
รวมวิธี การเดินจาก สงขลา มา กทม.
โดย Udomsak2539 จ 14 ก.ย. 2020 5:10 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
1
78
อ 15 ก.ย. 2020 12:14 pm โดย mindphp
ความแตกต่างระหว่างภาษาอังกฤษและภาษาฝรั่งเศส
โดย fhakun จ 14 ก.ย. 2020 5:03 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
39
จ 14 ก.ย. 2020 5:03 pm โดย fhakun