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

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
วิธีการแปลง timestamp เพื่อหาจำนวนวันที่ผ่านมาหรือคงเหลือ
โดย Ittichai_chupol พ 22 ม.ค. 2020 6:37 pm บอร์ด PHP Knowledge
0
11
พ 22 ม.ค. 2020 6:37 pm โดย Ittichai_chupol
วิธีการตรวจสอบว่ารูปเป็นแนวตั้งหรือแนวนอน ด้วยภาษา php
โดย jamepiyawat พ 22 ม.ค. 2020 6:16 pm บอร์ด PHP Knowledge
0
6
พ 22 ม.ค. 2020 6:16 pm โดย jamepiyawat
Range Sliders เก็บค่าตัวเลขด้วย range sliders
โดย benzas00123 พ 22 ม.ค. 2020 5:50 pm บอร์ด Booststap Knowledge
0
9
พ 22 ม.ค. 2020 5:50 pm โดย benzas00123
อยากทราบวิธีการตรวจสอบว่าจะมีเวลาอีกกี่วันถึงจะ ถึงเลข timestamp ที่กำหนด
โดย Ittichai_chupol พ 22 ม.ค. 2020 3:54 pm บอร์ด Programming - PHP
1
22
พ 22 ม.ค. 2020 4:18 pm โดย thatsawan
ขอสอบถามวิธีการเขียน bootstrap 3 ในการสร้าง bar ครับ
โดย benzas00123 พ 22 ม.ค. 2020 3:13 pm บอร์ด HTML CSS
5
67
พ 22 ม.ค. 2020 3:32 pm โดย benzas00123
วันหยุดที่หายไป
โดย noppadonsk พ 22 ม.ค. 2020 11:42 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
22
พ 22 ม.ค. 2020 11:42 am โดย noppadonsk
วิธีการปรับการการแสดงการ รายชื่อของแจ้งเตือน bookmark โดย phpbb
โดย Ittichai_chupol อ 21 ม.ค. 2020 5:45 pm บอร์ด PHP Knowledge
0
20
อ 21 ม.ค. 2020 5:45 pm โดย Ittichai_chupol
pillow vs wand library ความแตกต่างของ library ทั้ง 2 ตัวในการ procress รูปภาพ
โดย benzas00123 อ 21 ม.ค. 2020 5:29 pm บอร์ด Python Knowledge
1
19
อ 21 ม.ค. 2020 5:54 pm โดย mindphp
อยู่ดีๆ ก็ไม่สามารถเชื่อมต่อกับ database ได้ครับ
โดย benzas00123 อ 21 ม.ค. 2020 4:46 pm บอร์ด Programming - C/C++ & java & Python
5
51
อ 21 ม.ค. 2020 5:39 pm โดย benzas00123
ขอถามเกี่ยวกับ library ImageMagick ครับ
โดย benzas00123 อ 21 ม.ค. 2020 3:29 pm บอร์ด Programming - C/C++ & java & Python
2
25
อ 21 ม.ค. 2020 4:23 pm โดย benzas00123
Git Lad จะทำอย่างไรให้ไฟล์ที่อยู่ในโฟร์ย่อย ออกมาครับ
โดย jamepiyawat อ 21 ม.ค. 2020 12:08 pm บอร์ด ถาม - ตอบ คอมพิวเตอร์
2
102
อ 21 ม.ค. 2020 2:04 pm โดย jamepiyawat
ขอทราบวิธีการเขียน python เก็บข้อมูล ip ของผู้ใช้หน่อยครับ
โดย benzas00123 อ 21 ม.ค. 2020 10:54 am บอร์ด Programming - C/C++ & java & Python
1
59
อ 21 ม.ค. 2020 12:20 pm โดย mindphp
ขอสอบถามเกี่ยวกับการอัพโหลดรูปภาพเข้า ฐานข้อมูลครับ
โดย benzas00123 จ 20 ม.ค. 2020 6:29 pm บอร์ด SQL - Database
3
39
อ 21 ม.ค. 2020 2:00 pm โดย mindphp
โปรแกรมแปลงหน่วย เครื่องมือในการแปลงหน่วยความจุคอมพิวเตอร์
โดย prmindphp จ 20 ม.ค. 2020 6:24 pm บอร์ด MindPHP News & Feedback
0
21
จ 20 ม.ค. 2020 6:24 pm โดย prmindphp
เทคนิคทำธุรกิจอสังหาอย่างไรให้มีกำไร
โดย Patty Perfume อ 19 ม.ค. 2020 7:12 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
27
อ 19 ม.ค. 2020 7:12 pm โดย Patty Perfume
ความปลอดภัยด้านสุขภาพ เรื่องที่ทุกคนควรเริ่มต้นใฝ่หา
โดย medalezga อ 19 ม.ค. 2020 4:30 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
130
อ 19 ม.ค. 2020 4:30 pm โดย medalezga
วิธีการนำชื่อข้อมูลในชื่อในฐานข้อมูล ในไฟล์ XML ของ module joomla
โดย jamepiyawat ส 18 ม.ค. 2020 6:44 pm บอร์ด Joomla Developing Knowledge
0
156
ส 18 ม.ค. 2020 6:44 pm โดย jamepiyawat
วิธีการจัดทำการระบบแจ้้งเตือนใน phpbb
โดย Ittichai_chupol ส 18 ม.ค. 2020 5:42 pm บอร์ด PHP Knowledge
0
107
ส 18 ม.ค. 2020 5:42 pm โดย Ittichai_chupol
Pillow library ปรับขนาดรูปเป็นเปอร์เซ็นเพื่อนำไปใช้งานได้สะดวก
โดย benzas00123 ส 18 ม.ค. 2020 5:25 pm บอร์ด Python Knowledge
0
18
ส 18 ม.ค. 2020 5:25 pm โดย benzas00123
Pillow library Optimize รูปภาพเพื่อให้มีขนาดของข้อมูลที่เล็กลง
โดย benzas00123 ส 18 ม.ค. 2020 2:53 pm บอร์ด Python Knowledge
0
107
ส 18 ม.ค. 2020 2:53 pm โดย benzas00123