🖨️ เอกสารพิมพ์ทั้งหมด
5 แบบเอกสาร × หลายขนาดกระดาษ — ปรับแต่งได้ตามเครื่องพิมพ์
ในหน้านี้
ตั๋วโดยสาร
URL: ticket.php?code=BKxxxx
เปิดได้จาก
- หลังลูกค้าจอง + ชำระเงิน (auto redirect)
- หน้า booking_view.php → ปุ่ม "🎫 พิมพ์ตั๋ว"
- หน้าตรวจสอบการจอง → "ดู/พิมพ์ตั๋ว"
ส่วนของตั๋ว
- Header gradient — สีตามธีม + รหัสจอง + สถานะการชำระ
- ต้นทาง → ปลายทาง — ชื่อสถานี + จังหวัด + ไอคอนลูกศร
- วันที่ + เวลา + รหัสเที่ยว
- ทะเบียนรถ + พนักงานขับ
- ที่นั่ง + ชื่อผู้โดยสาร — chip pill สีตามธีม
- Summary — ระยะทาง + จำนวนตั๋ว + ราคารวม
- QR Code — สำหรับตรวจสอบตั๋ว (link มาที่ check-booking)
- Footer — คำแนะนำ + เบอร์โทรบริษัท
เลือกขนาดกระดาษ
Dropdown มุมขวาบน — เลือกได้ทุกขนาด default = A5
ใบฝากส่งพัสดุ
URL: parcel_receipt.php?code=PRxxxx
Default: 80mm (thermal)
ส่วนของใบ
- Header gradient ส้ม-แดง
- รหัสพัสดุ + วันที่
- ต้นทาง / ปลายทาง (highlight แดง)
- ข้อมูลผู้ส่ง / ผู้รับ
- รายละเอียดพัสดุ (น้ำหนัก ขนาด ประเภท)
- Breakdown ราคา + ยอดรวม
- 🔐 PIN 6 หลัก เด่นๆ ในกล่องสีเหลือง — บอกผู้ส่ง
- QR Code สำหรับติดตามพัสดุ
ฉลากพัสดุ
URL: parcel_label.php?code=PRxxxx
Default: sticker 70×100 mm
ส่วนของฉลาก
- Header ดำ — ชื่อบริษัท + คำว่า "PARCEL"
- ปลายทาง — รหัสสาขาตัวใหญ่ๆ สีแดง (เช่น CMI) + ชื่อสถานี + จังหวัด
- ผู้รับ + โทร
- ผู้ส่ง + ต้นทาง
- น้ำหนัก + จำนวนชิ้น
- 🟥 COD highlight แดง — ถ้าเป็นเก็บปลายทาง — เห็นชัดให้คนรถเก็บ
- QR Code + รหัส + PIN (แสดงสะดวกตอนสแกน)
- Barcode ดำพื้นล่าง
ใบสรุปคนรถ
URL: manifest_print.php?trip=ID
Default: A4 portrait
ส่วนของใบ
- Header — DRIVER MANIFEST + ชื่อบริษัท + รหัสเที่ยว + วัน-เวลา
- Meta row — เส้นทาง / ทะเบียนรถ / พนักงานขับ
- ตารางพัสดุ — # / รหัส / ปลายทาง / ผู้รับ / ประเภท / น้ำหนัก / ชิ้น / ราคา / COD ที่ต้องเก็บ
- Total row — น้ำหนักรวม + ชิ้นรวม + รายได้รวม
- 3 ช่องลายเซ็น — เจ้าหน้าที่ส่ง · คนรถ · เจ้าหน้าที่รับ
ใบปะติดสัมภาระ
URL: luggage_tag.php?tag=LGxxxx หรือ ?booking=BKxxxx
Default: sticker 70×100
ส่วนของใบ
- Header ดำ — บริษัท + LUGGAGE TAG
- ปลายทาง — รหัสสาขาตัวใหญ่ + ชื่อสถานี
- ชื่อเจ้าของ + เบอร์โทร
- น้ำหนัก + คำอธิบาย
- QR Code + รหัส tag
- Barcode
ทำไมต้องแยก thermal กับ A4?
| เปรียบเทียบ | A4 / A5 | Thermal 80mm |
|---|---|---|
| เครื่องพิมพ์ | Inkjet / Laser | POS / Receipt printer (ขาว-ดำ ไม่มีหมึก) |
| สี | เต็มสี (gradient, shadow) | ขาวดำเท่านั้น |
| Layout | หลายคอลัมน์ ขนาดใหญ่ | คอลัมน์เดียว กระชับ |
| Font size | 11-12px | 11.5px (อ่านง่าย) |
| Border | radius soft + shadow | เส้นดำหนา 2-3px |
| เหมาะกับ | เก็บเอกสาร พิมพ์เป็นชุด | ปริ้นไว ของลูกค้า ตั๋ว ใบฝากส่ง |
วิธีระบบจัดการ
ไฟล์ includes/print_helper.php มีฟังก์ชั่น paper_profile($size) คืน:
- styles — CSS string พร้อม
@page size: ... - is_thermal — boolean บอกให้ตัด gradient/shadow ออก
- max_width — ขนาด container
หน้าพิมพ์ใช้ $isThermal ? 'css เรียบ' : 'css สวย' เพื่อ render ตามขนาด
💡 Best practice:
- ตั๋วโดยสาร: A5 (เก็บไว้ใน wallet) หรือ 80mm (พิมพ์เร็วที่เคาน์เตอร์)
- ใบฝากส่ง: 80mm (ให้ลูกค้าเก็บใบเสร็จ)
- ฉลากพัสดุ: sticker 70×100 (แปะกล่อง)
- ใบสรุปคนรถ: A4 (หลายรายการ ใส่กระดาษเอกสาร)
- ใบปะติดสัมภาระ: sticker 70×100 (แปะกระเป๋า)
