บทที่ 8 การจัดหน้าแบบหลายรูปแบบในเอกสารเดียว สร้างไฟล์ pdf ด้วย PHP

PHP Knowledge เป็น บอร์ดรวามความรู้ php เน้นบทความ แนวทางการเขียนโปรแกรม บันทึกกันลืม เพื่อให้สมาชิกได้เขียนความรู้ที่ตัวเองมีให้สมาชิกท่านอื่นๆ ได้ เข้ามาอ่าน และ ไว้อ่านเองกันลืมด้วย

Moderator: mindphp, ผู้ดูแลกระดาน

ภาพประจำตัวสมาชิก
tsukasaz
PHP VIP Members
PHP VIP Members
โพสต์: 22120
ลงทะเบียนเมื่อ: 18/04/2012 9:39 am

บทที่ 8 การจัดหน้าแบบหลายรูปแบบในเอกสารเดียว สร้างไฟล์ pdf ด้วย PHP

โพสต์ที่ยังไม่ได้อ่าน โดย tsukasaz »

บทที่ 8 การจัดหน้าแบบหลายรูปแบบในเอกสารเดียว - สร้างไฟล์ pdf ด้วย PHP

การสร้างเอกสาร PDF (พีดีเอฟ) ด้วย TCPDF (ทีซีพีดีเอฟ) สามารถกำหนดรูปแบบของหน้ากระดาษได้หลายรูปแบบ โดยปกติค่าเริ่มต้นจะกำหนดเป็นกระดาษ A4 แนวตั้ง ในการใช้งานจริง อาจจะต้องการแสดงหน้าเอกสารในรูปแบบอื่นๆ ด้วย เช่น แสดงเอกสารเป็นแนวนอน หรือ กำหนดกระดาษเป็นขนาดอื่น ตัว TCPDF (ทีซีพีดีเอฟ) สามารถกำหนดขนาดกระดาษได้แทบทุกรูปแบบ ไม่ว่าจะเป็นขนาดตามมาตรฐาน ISO 216 A Series (A0 - A10) B Series (B0 - B10) ISO 269 C Series (C0 - B10, DL) นอกจากนี้ในหนึ่งเอกสารยังสามารถกำหนดหน้ากระดาษได้หลายรูปแบบรวมกัน ซึ่งบทเรียนนี้จะมาลองกำหนดรูปแบบต่างๆ ของหน้ากระดาษตั้งแต่ A0 - A5 กัน

ตัวอย่างโค้ดการจัดหน้าแบบหลายรูปแบบในเอกสารเดียว

โค้ด: เลือกทั้งหมด

<?php
require_once('tcpdf.php');

$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8');

$pdf->SetCreator('Mindphp');
$pdf->SetAuthor('Mindphp Developer');
$pdf->SetTitle('Mindphp Example 08');
$pdf->SetSubject('Mindphp Example');
$pdf->SetKeywords('Mindphp, TCPDF, PDF, example, guide');

$pdf->setHeaderFont(array('freeserif', 'B', 12));
$pdf->SetHeaderData('mindphp.png', 20, 'Mindphp Example 08', 'การจัดหน้าแบบหลายรูปแบบในเอกสารเดียว', array (0, 64, 255), array (0, 64, 128));
$pdf->setFooterData(array (0, 64, 0), array (0, 64, 128));

$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);
$pdf->SetHeaderMargin(PDF_MARGIN_HEADER);
$pdf->SetFooterMargin(PDF_MARGIN_FOOTER);

$pdf->SetFont('freeserif', '', 100);
$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);

// เพิ่มหน้าเอกสาร
// P = กำหนดให้เป็นแนวตั้ง
// A0 = กำหนดขนาดของกระดาษ
$pdf->AddPage('P', 'A0');
$pdf->Cell(0, 0, 'A0 แนวตั้ง', 0, 0, 'C');

// เพิ่มหน้าเอกสาร
// L = กำหนดให้เป็นแนวนอน
// A1 = กำหนดขนาดของกระดาษ
$pdf->AddPage('L', 'A1');
$pdf->Cell(0, 0, 'A1 แนวนอน', 1, 1, 'C');

// เพิ่มหน้าเอกสาร
// P = กำหนดให้เป็นแนวตั้ง
// A2 = กำหนดขนาดของกระดาษ
$pdf->AddPage('P', 'A2');
$pdf->Cell(0, 0, 'A2 แนวตั้ง', 1, 1, 'C');

// เพิ่มหน้าเอกสาร
// L = กำหนดให้เป็นแนวนอน
// A3 = กำหนดขนาดของกระดาษ
$pdf->AddPage('L', 'A3');
$pdf->Cell(0, 0, 'A3 แนวนอน', 1, 1, 'C');

// เพิ่มหน้าเอกสาร
// P = กำหนดให้เป็นแนวตั้ง
// A4 = กำหนดขนาดของกระดาษ
$pdf->AddPage('P', 'A4');
$pdf->Cell(0, 0, 'A4 แนวตั้ง', 1, 1, 'C');

// เพิ่มหน้าเอกสาร
// L = กำหนดให้เป็นแนวนอน
// A5 = กำหนดขนาดของกระดาษ
$pdf->AddPage('L', 'A5');
$pdf->Cell(0, 0, 'A5 แนวนอน', 1, 1, 'C');

$pdf->Output('mindphp08.pdf', 'I');
การแสดงผลการจัดหน้าแบบหลายรูปแบบในเอกสารเดียว
minphp08.png
minphp08.png (34.81 KiB) Viewed 281 times
แนบไฟล์
minphp08.zip
(5.24 KiB) ดาวน์โหลดแล้ว 104 ครั้ง
The last bug isn't fixed until the last user is dead. (Sidney Markowitz, 1995)

ผู้ใช้งานขณะนี้

สมาชิกกำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และบุคลทั่วไป 89