ให้เรตสมาชิก: 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

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
ลืมรหัส เบอร์เก่าเปลี่ยน ใช้งานhotmailไม่ได้
โดย Anonymous ส 14 ธ.ค. 2019 11:11 pm บอร์ด ถาม - ตอบ คอมพิวเตอร์
0
13
ส 14 ธ.ค. 2019 11:11 pm โดย บุคคลทั่วไป
วิธีการดึงข้อมูลปลั็กอินจาก field ที่ผู้ใช้กรอกในไฟล์ xml มาในไฟล์ php
โดย jamepiyawat ส 14 ธ.ค. 2019 5:56 pm บอร์ด Joomla Developing Knowledge
0
11
ส 14 ธ.ค. 2019 5:56 pm โดย jamepiyawat
VDO - MDfiles Version 1.3.46
โดย numtan5839 ส 14 ธ.ค. 2019 5:46 pm บอร์ด M097 - ตรีเนตร บูรณโพธิ์ทอง
2
12
ส 14 ธ.ค. 2019 6:37 pm โดย numtan5839
สอบถามการเปลี่ยน templete บนเว็บ minndphp หน่อยค่ะ
โดย nnamfon.26 ส 14 ธ.ค. 2019 1:39 pm บอร์ด MindPHP News & Feedback
2
25
ส 14 ธ.ค. 2019 1:48 pm โดย nnamfon.26
VDO - Calculation program after including VAT
โดย numtan5839 ส 14 ธ.ค. 2019 10:27 am บอร์ด M097 - ตรีเนตร บูรณโพธิ์ทอง
1
9
ส 14 ธ.ค. 2019 11:09 am โดย thatsawan
งานประจำวันที่ 14 ธันวาคม 2562
โดย numtan5839 ส 14 ธ.ค. 2019 10:13 am บอร์ด M097 - ตรีเนตร บูรณโพธิ์ทอง
3
7
ส 14 ธ.ค. 2019 7:01 pm โดย numtan5839
วิธีการกำหนด css ให้กับ คลาสแบบ !important โดยใช้งาน JQuery
โดย Ittichai_chupol ศ 13 ธ.ค. 2019 5:53 pm บอร์ด Jquery & Ajax Knowledge
0
17
ศ 13 ธ.ค. 2019 5:53 pm โดย Ittichai_chupol
โปรแกรมคำนวณภาษีมูลค่าเพิ่มหลังรวม VAT
โดย prmindphp ศ 13 ธ.ค. 2019 5:31 pm บอร์ด MindPHP News & Feedback
0
16
ศ 13 ธ.ค. 2019 5:31 pm โดย prmindphp
กาลครั้งหนึ่ง ของโปรแกรมเมอร์ฝึกหัด ???
โดย chatee supasand ศ 13 ธ.ค. 2019 4:03 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
21
ศ 13 ธ.ค. 2019 4:03 pm โดย chatee supasand
โปรแกรมเมอร์ คนแรกของโลก คือใคร?
โดย noppadonsk ศ 13 ธ.ค. 2019 3:18 pm บอร์ด Share Knowledge
0
21
ศ 13 ธ.ค. 2019 3:18 pm โดย noppadonsk
RGB กับ CMYK ให้สีแตกต่างกันอย่างไร
โดย noppadonsk ศ 13 ธ.ค. 2019 3:01 pm บอร์ด Share Knowledge
0
9
ศ 13 ธ.ค. 2019 3:01 pm โดย noppadonsk
SECUMAIL เทคโนโลยีป้องกันการ Hack อีเมล
โดย noppadonsk ศ 13 ธ.ค. 2019 2:32 pm บอร์ด Share Knowledge
0
20
ศ 13 ธ.ค. 2019 2:32 pm โดย noppadonsk
VDO - Introducing to Plugin Content MChangelog
โดย numtan5839 ศ 13 ธ.ค. 2019 1:33 pm บอร์ด M097 - ตรีเนตร บูรณโพธิ์ทอง
3
23
ส 14 ธ.ค. 2019 2:55 pm โดย mindphp
Teamviewer 15 ใช้งาน TeamViewer Pilot ได้แล้วบน PC
โดย chatee supasand ศ 13 ธ.ค. 2019 12:09 pm บอร์ด Microsoft Office Knowledge & line & Etc
1
21
ศ 13 ธ.ค. 2019 1:38 pm โดย rihankhan
VDO โปรแกรมคำนวณภาษีมูลค่าเพิ่มหลังรวม VAT
โดย numtan5839 ศ 13 ธ.ค. 2019 10:05 am บอร์ด M097 - ตรีเนตร บูรณโพธิ์ทอง
4
22
ส 14 ธ.ค. 2019 5:42 pm โดย mindphp
icon ธงภาษาไม่แสดง
โดย numtan5839 ศ 13 ธ.ค. 2019 9:48 am บอร์ด MindPHP News & Feedback
0
28
ศ 13 ธ.ค. 2019 9:48 am โดย numtan5839
งานประจำวันที่ 13 ธันวาคม 2562
โดย numtan5839 ศ 13 ธ.ค. 2019 9:27 am บอร์ด M097 - ตรีเนตร บูรณโพธิ์ทอง
3
26
ศ 13 ธ.ค. 2019 7:33 pm โดย numtan5839
งานประจำวันที่ 13 ธันวาคม 2562
โดย noppadonsk ศ 13 ธ.ค. 2019 9:03 am บอร์ด MT36 - นายนพดล สุชญากูล
14
49
ส 14 ธ.ค. 2019 11:57 am โดย jamepiyawat
Plugin Content MChangeLog ใน Joomla เป็นตัวช่วยให้ เพิ่มเนื้อหาที่มีการเปลี่ยนแปลงแบบ เพิ่มเนื้อหา อัพเดด fix ปัญหา
โดย prmindphp พฤ 12 ธ.ค. 2019 6:46 pm บอร์ด MindPHP News & Feedback
0
39
พฤ 12 ธ.ค. 2019 6:46 pm โดย prmindphp
วิธีการเขียน SQL สำหรับเปลี่ยน Collation เพื่อปรับเปลี่ยนการรองรับภาษา ใน ตารางฐานข้อมูล
โดย Ittichai_chupol พฤ 12 ธ.ค. 2019 4:17 pm บอร์ด SQL Knowledge
0
22
พฤ 12 ธ.ค. 2019 4:17 pm โดย Ittichai_chupol