บทที่ 3 การปรับแต่งส่วนหัวและท้ายของเอกสาร
สำหรับบทที่ 3 นี้จะเป็นการปรับแต่งส่วนหัวและท้ายของเอกสาร ซึ่งสามารถใส่รูปภาพและข้อความได้ทั้งส่วนหัวและท้ายเอกสาร จัดตำแหน่งและขนาดของรูปภาพ จัดรูปแบบของข้อความ ตัวอักษร สี ขนาด ตำแหน่ง และสามารถใช้คำสั่ง HTML (เอชทีเอ็ม) ช่วยสำหรับการจัดรูปแบบของรูปภาพและข้อความ รวมถึงสามารถกำหนดตำแหน่งรูปแบบการแสดงหมายเลขของหน้าได้
สำหรับตัวอย่างต่อไปนี้จะสร้างเอกสาร โดยจะใส่รูปภาพทั้งส่วนหัวและท้ายเอกสาร ส่วนหัวเอกสารจะใช้คำสั่ง HTML ในการใส่รูปภาพ กำหนดรูปแบบ และจัดตำแหน่ง ส่วนท้ายเอกสารจะใช้คำสั่งแทรกรูปภาพ และคำสั่งใส่ข้อความของ TCPDF แบบปกติ
ตัวอย่างโค้ด การปรับแต่งส่วนหัวและท้ายของเอกสาร
<?php
require_once('tcpdf.php');
// สร้าง Class ใหม่ขึ้นมา กำหนดให้สืบทอดจาก Class ของ TCPDF
class MindphpTCPDF extends TCPDF
{
// สร้าง function ชื่อ Header สำหรับปรับแต่งการแสดงผลในส่วนหัวของเอกสาร
public function Header()
{
// สร้างคำสั่ง HTML ในตัวอย่างนี้ สร้างตาราง 2 คอลัมน์
// คอลัมน์แรก สำหรับแสดงรูปภาพ คำสั่ง HTML แสดงรูปภาพและต้องใช้ URL แบบเต็ม
// คอลัมน์ที่สอง สำหรับแสดงข้อความ
$html = '<table><tr>'
. '<td width="70"><img src="http://mindphp.com/images/info/mindphp.png" width="60" /></td>'
. '<td width="400" align="center"><h3>This is HTML</h3><p>Custom Header With HTML</p></td></tr>'
. '</table><hr />';
$this->writeHTMLCell('', '', '', '', $html);
}
// สร้าง function ชื่อ Footer สำหรับปรับแต่งการแสดงผลในส่วนท้ายของเอกสาร
public function Footer()
{
// กำหนดตำแหน่งที่จะแสดงรูปภาพและข้อความ 15mm นับจากท้ายเอกสาร
$this->SetY(-15);
// คำสั่งสำหรับแทรกรูปภาพ กำหนดที่อยู่ไฟล์รูปภาพในเครื่องของเรา
$this->Image('tcpdf_logo.png');
// สำหรับตัวอักษรที่จะใช้คือ helvetica เป็นตัวหนา และขนาดอักษรคือ 10
$this->SetFont('helvetica', 'B', 10);
// คำสั่งสำหรับแสดงข้อความ โดยกำหนด ความกว้าง และ ความสูงของข้อความได้ใน 2 ช่องแรก
// ช่องที่ 3 คือข้อความที่แสดง ส่วนค่า C คือ กำหนดให้แสดงข้อความตรงกลาง
$this->Cell('', '', 'By Mindphp.com', 0, false, 'C');
// สำหรับตัวอักษรที่จะใช้คือ helvetica เป็นตัวเอียง และขนาดอักษรคือ 8
$this->SetFont('helvetica', 'I', 8);
// คำสั่งสำหรับแสดงข้อความ โดยกำหนด ความกว้าง และ ความสูงของข้อความได้ใน 2 ช่องแรก
// ช่องที่ 3 คือข้อความที่แสดง $this->getAliasNumPage() คือ หมายเลขหน้าปัจจุบัน และ $this->getAliasNbPages() จำนวนหน้าทั้งหมด
// ส่วนค่า R คือ กำหนดให้แสดงข้อความชิดขวา
$this->Cell('', '', 'Page ' . $this->getAliasNumPage() . '/' . $this->getAliasNbPages(), 0, false, 'R');
}
}
$pdf = new MindphpTCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8');
$pdf->SetCreator('Mindphp');
$pdf->SetAuthor('Mindphp Developer');
$pdf->SetTitle('Mindphp Example 03');
$pdf->SetSubject('Mindphp Example');
$pdf->SetKeywords('Mindphp, TCPDF, PDF, example, guide');
$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);
$pdf->SetHeaderMargin(PDF_MARGIN_HEADER);
$pdf->SetFooterMargin(PDF_MARGIN_FOOTER);
$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);
$pdf->AddPage();
$html = "Welcome to <b>MindPHP</b> - Custom Header & Footer";
$pdf->SetFont('dejavusans', '', 14);
$pdf->writeHTMLCell(0, 0, '', 50, $html, 0, 1, 0, true, '', true);
$pdf->Output('mindphp03.pdf', 'I');
การแสดงผล การปรับแต่งส่วนหัวและท้ายของเอกสาร
ส่วนหัวเอกสาร
ส่วนท้ายเอกสาร
ในบางกรณีอาจจะต้องการสร้างเอกสารแบบไม่มีหัวและท้ายเอกสาร เช่น การทำปกหน้า และ ปกหลัง ซึ่งตัว TCPDF ก็สามารถทำได้เช่นกัน
ตัวอย่างโค้ด การสร้างเอกสารแบบไม่มีหัวและท้ายเอกสาร
<?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 03');
$pdf->SetSubject('Mindphp Example');
$pdf->SetKeywords('Mindphp, TCPDF, PDF, example, guide');
$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, 'Mindphp Example 03', 'This is PDF Header', array (0, 64, 255), array (0, 64, 128));
$pdf->setFooterData(array (0, 64, 0), array (0, 64, 128));
// กำหนดให้ไม่แสดงส่วนหัวของเอกสาร
$pdf->setPrintHeader(false);
// กำหนดให้ไม่แสดงส่วนท้ายของเอกสาร
$pdf->setPrintFooter(false);
$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);
$pdf->SetHeaderMargin(PDF_MARGIN_HEADER);
$pdf->SetFooterMargin(PDF_MARGIN_FOOTER);
$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);
$pdf->AddPage();
$html = "Welcome to <b>MindPHP</b> - Without Header & Footer";
$pdf->SetFont('dejavusans', '', 14);
$pdf->writeHTMLCell(0, 0, '', 50, $html, 0, 1, 0, true, 'C', true);
$pdf->Output('mindphp03.pdf', 'I');
การแสดงผล การสร้างเอกสารแบบไม่มีหัวและท้ายเอกสาร
- หัวเรื่อง
- บทที่ 3 การปรับแต่งส่วนหัวและท้ายของเอกสาร
- หมวดหมู่
- สร้างไฟล์ PDF ด้วยภาษา PHP, สร้างไฟล์ PDF ด้วยภาษา PHP
- ฮิต
- 30388
- ผู้สร้างเอกสาร
- ae
- วันที่สร้างเอกสาร
- 2017-12-06 18:26:11
- รายละเอียด
สำหรับบทที่ 3 นี้จะเป็นการปรับแต่งส่วนหัวและท้ายของเอกสาร ซึ่งสามารถใส่รูปภาพและข้อความได้ทั้งส่วนหัวและท้ายเอกสาร จัดตำแหน่งและขนาดของรูปภาพ จัดรูปแบบของข้อความ ตัวอักษร สี ขนาด ตำแหน่ง
สามารถศึกษาการสร้างไฟล์ PDF ด้วยภาษา PHP บทอื่นๆได้ที่ : บทเรียนการสร้างไฟล์ PDF ด้วย PHP