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

ตอบกระทู้

รูปแสดงอารมณ์
:icon_plusone: :like: :plusone: :gfb: :-D :) :( :-o 8O :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: :angry: :baa: :biggrin:
รูปแสดงอารมณ์อื่นๆ

BBCode เปิด
[img] เปิด
[url] เปิด
[Smile icon] เปิด

กระทู้แนะนำ
   

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

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

โดย tsukasaz » 25/12/2017 5:23 pm

บทที่ 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 282 times
แนบไฟล์
minphp08.zip
(5.24 KiB) ดาวน์โหลดแล้ว 105 ครั้ง

ข้างบน