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

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
อยากทราบว่า แคปหน้าจอในโปรแกรม netbean ตอนที่กำลังนำเมาส์ไปชี้ตัวเลือกใน list ได้ยังไงครับ
โดย bankjittapol อ 22 ต.ค. 2019 6:31 pm บอร์ด ถาม - ตอบ คอมพิวเตอร์
1
28
อ 22 ต.ค. 2019 6:43 pm โดย mindphp
ความรู้เกี่ยวกับการบัญชีโรงแรม
โดย nnamfon.26 อ 22 ต.ค. 2019 6:21 pm บอร์ด ถาม - ตอบ ธุรกิจ กฏหมาย ภาษี บัญชี
0
10
อ 22 ต.ค. 2019 6:21 pm โดย nnamfon.26
จำทำอย่างไรให้ค่า input เดียวเก็บได้หลายตัวแปลครับ
โดย jamepiyawat อ 22 ต.ค. 2019 5:39 pm บอร์ด Programming - PHP
3
25
อ 22 ต.ค. 2019 6:30 pm โดย jamepiyawat
Tips : เปิดไฟล์ .CSV ด้วย excel (ข้อมูลในไฟล์มีมากกว่า 1 ล้านแถว)
โดย jataz2 อ 22 ต.ค. 2019 5:19 pm บอร์ด Programming - C/C++ & java & Python
0
9
อ 22 ต.ค. 2019 5:19 pm โดย jataz2
วิธีทำให้ text box มีภาพพื้นหลัง ต้องทำอย่างไร ครับ
โดย jamepiyawat อ 22 ต.ค. 2019 5:19 pm บอร์ด HTML CSS
4
26
อ 22 ต.ค. 2019 6:03 pm โดย jamepiyawat
บัญชีบริหาร คืออะไร
โดย nnamfon.26 อ 22 ต.ค. 2019 5:17 pm บอร์ด ถาม - ตอบ ธุรกิจ กฏหมาย ภาษี บัญชี
0
11
อ 22 ต.ค. 2019 5:17 pm โดย nnamfon.26
จะทำอย่างไรให้ข้อความของ placeholder แสดงข้อความได้หลายบรรทัดครับ
โดย jamepiyawat อ 22 ต.ค. 2019 4:41 pm บอร์ด HTML CSS
3
27
อ 22 ต.ค. 2019 6:04 pm โดย jamepiyawat
สร้าง selectซ้อน2ชั้น โดยดึงค่าจาก database ใช้แค่ python
โดย mstsksmstsks อ 22 ต.ค. 2019 4:13 pm บอร์ด HTML CSS
3
17
อ 22 ต.ค. 2019 4:49 pm โดย mindphp
สร้าง selectซ้อน2ชั้น โดยดึงค่าจาก database ใช้แค่ python
โดย May Saithan อ 22 ต.ค. 2019 4:07 pm บอร์ด Programming - C/C++ & java & Python
0
10
อ 22 ต.ค. 2019 4:07 pm โดย May Saithan
judspec.com ที่นี่ มีแบตเตอรี่โน๊ตบุ๊คดีๆ และราคาถูกมากมาย พร้อมจำหน่ายให้คุณแล้ว ทุกรุ่นทุกยี่ห้อ
โดย popeyebkk อ 22 ต.ค. 2019 4:00 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
7
อ 22 ต.ค. 2019 4:00 pm โดย popeyebkk
อยากทราบโปรแกรมสำหรับแคปภาพหน้าจอและปรับแต่งภาพหลังการแคป ใน windows นอกจากSnipping Toolหน่อยค่ะ
โดย nnamfon.26 อ 22 ต.ค. 2019 3:55 pm บอร์ด ถาม - ตอบ คอมพิวเตอร์
2
30
อ 22 ต.ค. 2019 4:18 pm โดย nnamfon.26
ต้องการที่จะเก็บข้อมูลลงฐานข้อมูลเป็นตัวเลขและ comme ต้องใช้ type อะไรดีครับ
โดย jamepiyawat อ 22 ต.ค. 2019 3:33 pm บอร์ด SQL - Database
3
23
อ 22 ต.ค. 2019 4:35 pm โดย thatsawan
อยากทราบวิธีการดึงปีปัจจุบันมาแสดง พร้อมกับดึงปีในอนาคตมารให้เลือก ล่วงหน้า อย่างน้อย 10 ใน php
โดย Ittichai_chupol อ 22 ต.ค. 2019 10:52 am บอร์ด Programming - PHP
1
33
อ 22 ต.ค. 2019 11:46 am โดย mindphp
อัพเดทความคืบหน้า / Progress - ThaiVI
โดย mindphp พ 10 ต.ค. 2018 3:49 am บอร์ด ThaiVI (Main)
391
2678
อ 22 ต.ค. 2019 8:13 pm โดย aninthana
จัดพื้นที่กลางห้อง ให้ตอบโจทย์ทุกการใช้งาน
โดย Pattita Dumrongsappakit จ 21 ต.ค. 2019 5:51 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
30
จ 21 ต.ค. 2019 5:51 pm โดย Pattita Dumrongsappakit
การเดินทางจากนครศรีธรรมราชมากรุงเทพฯ
โดย nnamfon.26 จ 21 ต.ค. 2019 5:09 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
25
จ 21 ต.ค. 2019 5:09 pm โดย nnamfon.26
การเดินทางจาก พะเยา มา กรุงเทพฯ
โดย bankjittapol จ 21 ต.ค. 2019 4:58 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
1
22
จ 21 ต.ค. 2019 4:59 pm โดย thatsawan
รวมสถานที่ท่องเที่ยวภาคเหนือ เที่ยวได้ไม่เบื่อ
โดย Decha Thaweeumanjvaroj จ 21 ต.ค. 2019 1:12 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
15
จ 21 ต.ค. 2019 1:12 pm โดย Decha Thaweeumanjvaroj
Let's me learn how to landing on the moon.
โดย Ellie Freedom อ 20 ต.ค. 2019 6:43 pm บอร์ด Programming - PHP
0
31
อ 20 ต.ค. 2019 6:43 pm โดย Ellie Freedom
สอบถามครับ เชื่อมฐานข้อมูล Wordpress ไม่ได้ครับ
โดย chatee supasand ส 19 ต.ค. 2019 4:07 pm บอร์ด ปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS CRM
4
119
อ 20 ต.ค. 2019 1:38 pm โดย vmuser