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

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
สอบถามครับ เชื่อมฐานข้อมูล Wordpress ไม่ได้ครับ
โดย chatee supasand ส 19 ต.ค. 2019 4:07 pm บอร์ด ปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS CRM
2
10
ส 19 ต.ค. 2019 4:17 pm โดย chatee supasand
วิธีการสร้าง logfile ในภาษา Python ด้วย logging
โดย jirawoot ศ 18 ต.ค. 2019 1:21 pm บอร์ด Python Knowledge
1
181
ส 19 ต.ค. 2019 4:25 am โดย mindphp
เปิดโพย รวมมิตรไอโฟนตกรุ่น เริ่ม 900.-
โดย promotion ศ 18 ต.ค. 2019 11:42 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
21
ศ 18 ต.ค. 2019 11:42 am โดย promotion
ทำยังไงถึงจะ upload file เข้าไปอยู่ในโฟร์เดอร์ได้ครับ
โดย jamepiyawat พฤ 17 ต.ค. 2019 6:27 pm บอร์ด Programming - PHP
1
55
พฤ 17 ต.ค. 2019 6:30 pm โดย tsukasaz
สร้างไฟล์ PDF ด้วยภาษา PHP
โดย kkk_k พฤ 17 ต.ค. 2019 1:08 am บอร์ด Programming - PHP
1
72
พฤ 17 ต.ค. 2019 1:23 am โดย mindphp
ถามเรื่องเช็คตัวเลขว่ามีเลขที่มากกว่า 10 เเต่น้อยกว่า 20 กี่ตัวยังไงครับ
โดย Golff Sinlapachai พ 16 ต.ค. 2019 6:19 pm บอร์ด Programming - PHP
1
50
พ 16 ต.ค. 2019 6:25 pm โดย mindphp
ฐานข้อมูลค่ะ
โดย sopida พ 16 ต.ค. 2019 3:37 pm บอร์ด Programming - PHP
1
43
พ 16 ต.ค. 2019 3:53 pm โดย thatsawan
replace หลายจุด และหลาย pattern พร้อมกันจบในการรันคำสั่งครั้งเดียว
โดย jataz2 พ 16 ต.ค. 2019 3:17 pm บอร์ด Programming - C/C++ & java & Python
0
36
พ 16 ต.ค. 2019 3:17 pm โดย jataz2
อัพเดพตัว Build Windows 10 แอพ Your Phone รับสายเรียกเข้า-โทรออกจาก สมาร์ทโฟนได้แล้ว
โดย chatee supasand อ 15 ต.ค. 2019 12:18 pm บอร์ด Microsoft Office Knowledge & line & Etc
0
52
อ 15 ต.ค. 2019 12:18 pm โดย chatee supasand
ตัวอย่างการสร้าง Service odoo13 บน Ubuntu 16.04
โดย mindphp ส 12 ต.ค. 2019 1:35 am บอร์ด Linux - Web Server
0
96
ส 12 ต.ค. 2019 1:35 am โดย mindphp
MJupgrade Joomla 1.5.26 > 3.9 ขึ้น Error: Could not connect to MySQL server.
โดย เห็ด อินโมชั่น ศ 11 ต.ค. 2019 3:30 pm บอร์ด Joomla Development
3
81
ศ 11 ต.ค. 2019 5:14 pm โดย เห็ด อินโมชั่น
MJupgrade Joomla 1.5.26 > 3.9 ขึ้น Error: Could not connect to MySQL server.
โดย เห็ด อินโมชั่น ศ 11 ต.ค. 2019 4:59 pm บอร์ด ปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS CRM
7
2221
ส 12 ต.ค. 2019 3:35 am โดย mindphp
อยากทราบวิธีนับจำนวน id ที่ซ้ำกัน ครับ
โดย jamepiyawat ศ 11 ต.ค. 2019 5:06 pm บอร์ด SQL - Database
3
171
ศ 11 ต.ค. 2019 6:20 pm โดย jamepiyawat
การ Search ค้นหาข้อมูลของบอร์ด phpBB
โดย aninthana พฤ 10 ต.ค. 2019 6:46 pm บอร์ด Wordpress user Guide Knowledge
0
131
พฤ 10 ต.ค. 2019 6:46 pm โดย aninthana
ทำป้าย PopUp ด้วย Modal ใน Bootstrap เวอร์ชั่น 4
โดย jamepiyawat พฤ 10 ต.ค. 2019 5:20 pm บอร์ด Booststap Knowledge
0
138
พฤ 10 ต.ค. 2019 5:20 pm โดย jamepiyawat
ทำยังไงถึงจะไม่ให้แสดงเลข ID หน้า Alias ได้ครับ
โดย jamepiyawat พฤ 10 ต.ค. 2019 4:03 pm บอร์ด Joomla Development
1
58
พฤ 10 ต.ค. 2019 6:02 pm โดย tsukasaz
ทำไมผมถึงดึงข้อมูลชื่อหมวดหมู่ออกมาแสดงหน้าตั้งค่า module ไม่ได้ครับ
โดย jamepiyawat พฤ 10 ต.ค. 2019 3:47 pm บอร์ด Joomla Development
2
64
พฤ 10 ต.ค. 2019 6:36 pm โดย jamepiyawat
ตัวเลขด้านหน้าข้อความที่เราตั้ง Alias คืออะไรครับ
โดย jamepiyawat พฤ 10 ต.ค. 2019 11:36 am บอร์ด Joomla Development
5
143
พฤ 10 ต.ค. 2019 2:46 pm โดย mindphp
แก้ปัญหา Error Ignoring file '50unattended-upgrades.ucf-old' in directory บน Ubunto 16.04 ติดตั้ง apt-get
โดย mindphp พฤ 10 ต.ค. 2019 5:42 am บอร์ด Linux - Web Server
0
110
พฤ 10 ต.ค. 2019 5:42 am โดย mindphp
Q - สอบถามวิธี Upload file html ไปยัง web service โดยใช้คำสั่ง curl ใน PHP
โดย birdkritsna พ 09 ต.ค. 2019 3:42 pm บอร์ด Programming - PHP
6
155
พฤ 10 ต.ค. 2019 2:07 pm โดย birdkritsna