การจะสั่งพิมพ์เอกสารทางหน้าเว็บเราทำได้กันอยู่ 2 วิธีหลักๆคือ
- แต่งเป็นหน้า html แล้วสั่งพิมพ์ วิธีนี้ทำง่ายแต่ว่าเราคุมพิกัดมันยาก อีกทั้งจะให้มันออกมาในขนาดของกระดาษ A4 แบบกั้นหน้ากันหลังกันบนล่าง แปะๆสวยๆ ก็ทำยาก มันจะเกินนั่นนิดนั่นหน่อย เอาเป็นว่าถ้าเอาง่าย เอาเร็ว ก็วิธีนี้
- สั่ง PHP สร้างไฟล์ PDF แล้วส่งไปให้เบราเซอร์สั่งพิมพ์เอา วิธีนี้จะได้รายงานที่สวยงาม พิกัดของสิ่งต่างๆที่เราเขียนวางบนเอกสารจะแปะ กั้นหน้ากั้นหลังกันบนกั้นล่างจะแปะ ออกมาในกระดาษ A4 ก็เป๊ะ เรียกว่าเป็นวิธีที่เพอเฟ็ก แต่ก็นั้่นแหละต้องแลกมาด้วยเวลาทำที่นานกว่า ยากกว่าหรือเปล่า อาจจะไม่ ถ้าเราชำนาญอะไรก็ง่ายอยู่แล้วแหละ อ้ออีกอย่างที่เป็นข้อดีของ PDF ก็คือมันแนบส่งไปกับอีเมล์ได้ด้วย
ในโลกของ PHP จะมีไลบรารี่ที่ใช้สำหรับสร้างไฟล์ PDF อยู่ไม่กี่ตัว หนึ่งในไม่กี่ตัวที่ได้รับความนิยมก็คือ TCPDF
ทำไมมันถึงได้รับความนิยม
- ข้อหนึ่งเลยก็คือ มันซัพพอร์ตภาษาไทย ไม่ทุกฟ้อนต์ที่ซัพพอร์ตก็จริง แต่ก็ส่วนใหญ่ โหลดมาจาก google fonts ใช้ได้เลย สระพยัญชนะไม่กระโดกกระเดกเลยก็มี
- ข้อสอง เจ้าของยังพัฒนามาอยู่ เขายังไม่ทิ้งยังมีที่พึ่ง
- ข้อสาม ใช้ง่าย อันนี้จริงมาก จากที่ผมใช้มาเองผมก็ว่าตัวนี้ง่าย
หลักๆก็มีประมาณนี้
ส่วนที่เจ้าของไลบรารี่เขาพูดไว้เองก็มีประมาณนี้
Main Features:
- no external libraries are required for the basic functions;
- all standard page formats, custom page formats, custom margins and units of measure;
- UTF-8 Unicode and Right-To-Left languages;
- TrueTypeUnicode, OpenTypeUnicode v1, TrueType, OpenType v1, Type1 and CID-0 fonts;
- font subsetting;
- methods to publish some XHTML + CSS code, Javascript and Forms;
- images, graphic (geometric figures) and transformation methods;
- supports JPEG, PNG and SVG images natively, all images supported by GD (GD, GD2, GD2PART, GIF, JPEG, PNG, BMP, XBM, XPM) and all images supported via ImagMagick (http://www.imagemagick.org/script/formats.php)
- 1D and 2D barcodes: CODE 39, ANSI MH10.8M-1983, USD-3, 3 of 9, CODE 93, USS-93, Standard 2 of 5, Interleaved 2 of 5, CODE 128 A/B/C, 2 and 5 Digits UPC-Based Extension, EAN 8, EAN 13, UPC-A, UPC-E, MSI, POSTNET, PLANET, RMS4CC (Royal Mail 4-state Customer Code), CBC (Customer Bar Code), KIX (Klant index – Customer index), Intelligent Mail Barcode, Onecode, USPS-B-3200, CODABAR, CODE 11, PHARMACODE, PHARMACODE TWO-TRACKS, Datamatrix, QR-Code, PDF417;
- JPEG and PNG ICC profiles, Grayscale, RGB, CMYK, Spot Colors and Transparencies;
- automatic page header and footer management;
- document encryption up to 256 bit and digital signature certifications;
- transactions to UNDO commands;
- PDF annotations, including links, text and file attachments;
- text rendering modes (fill, stroke and clipping);
- multiple columns mode;
- no-write page regions;
- bookmarks, named destinations and table of content;
- text hyphenation;
- text stretching and spacing (tracking);
- automatic page break, line break and text alignments including justification;
- automatic page numbering and page groups;
- move and delete pages;
- page compression (requires php-zlib extension);
- XOBject Templates;
- Layers and object visibility.
- PDF/A-1b support.
แปลเอานะครับ ประมาณนี้แหละ
Leave a Reply