ให้เรตสมาชิก: 4 / 5

ดาวใช้งานดาวใช้งานดาวใช้งานดาวใช้งานดาวไม่ได้ใช้งาน
 

 

บทที่ 3 การปรับแต่งส่วนหัวและท้ายของเอกสาร

บทที่ 3 การปรับแต่งส่วนหัวและท้ายของเอกสาร
บทที่ 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
ฮิต
5492
ผู้สร้างเอกสาร
ae
วันที่สร้างเอกสาร
2017-12-06 18:26:11
รายละเอียด

สำหรับบทที่ 3 นี้จะเป็นการปรับแต่งส่วนหัวและท้ายของเอกสาร ซึ่งสามารถใส่รูปภาพและข้อความได้ทั้งส่วนหัวและท้ายเอกสาร จัดตำแหน่งและขนาดของรูปภาพ จัดรูปแบบของข้อความ ตัวอักษร สี ขนาด ตำแหน่ง

> อ่านต่อ ...

mindphp03.zip

ประเภทไฟล์ zip

ขนาดไฟล์ 19.47 KB

ผู้อัพโหลดไฟล์ ae

วันที่อัพโหลด 2017-12-06 11:03:22


 

สามารถศึกษาการสร้างไฟล์ PDF ด้วยภาษา PHP บทอื่นๆได้ที่ : บทเรียนการสร้างไฟล์ PDF ด้วย PHP

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
วางแผนเงินออมได้ง่ายๆ ด้วยโปรแกรมคำนวณหามูลค่าเงินในอนาคต
โดย prmindphp จ 23 ธ.ค. 2019 7:28 pm บอร์ด MindPHP News & Feedback
0
59
จ 23 ธ.ค. 2019 7:28 pm โดย prmindphp
ปฏิทินประจําปี 2563 ธีมแคมป์ กางเต้นท์ เดินป่า สายลุยๆไม่ควรพลาด
โดย noppadonsk จ 23 ธ.ค. 2019 5:10 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
1
921
พ 01 ม.ค. 2020 3:24 pm โดย mindphp
วิธีการปรับเปลี่ยนค่าการแสดงผลในหน้าแสดงบอร์ด ใน phpbb
โดย Ittichai_chupol ส 21 ธ.ค. 2019 5:48 pm บอร์ด PHP Knowledge
0
66
ส 21 ธ.ค. 2019 5:48 pm โดย Ittichai_chupol
จะทำอย่างไรจะแสดงข้อมูลในจำนวนตารางที่คงที่ได้ครับ
โดย jamepiyawat ส 21 ธ.ค. 2019 1:51 pm บอร์ด Programming - PHP
1
99
ส 21 ธ.ค. 2019 2:07 pm โดย thatsawan
วิธีการส่งค่า จาก Event หนึ่งไปยัง Event หนึ่ง ใน phpbb
โดย Ittichai_chupol ศ 20 ธ.ค. 2019 6:59 pm บอร์ด PHP Knowledge
0
67
ศ 20 ธ.ค. 2019 6:59 pm โดย Ittichai_chupol
โปรแกรมคำนวณหาจำนวนเงินผ่อนชำระ ตัวช่วยในการคำนวณเงินผ่อนเพื่อใช้ประกอบการตัดสินใจ
โดย prmindphp ศ 20 ธ.ค. 2019 5:58 pm บอร์ด MindPHP News & Feedback
0
67
ศ 20 ธ.ค. 2019 5:58 pm โดย prmindphp
ปฏิทินประจำปี 2563 ดอกไม้มงคลพืชสวยงาม -โหลดมาใช้กันเลยฟรี
โดย noppadonsk ศ 20 ธ.ค. 2019 1:55 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
1
4777
อ 24 ธ.ค. 2019 8:17 pm โดย mindphp
excel แบบวันที่เวลา ลงdatabase
โดย Anonymous ศ 20 ธ.ค. 2019 1:54 pm บอร์ด Programming - PHP
1
82
ศ 20 ธ.ค. 2019 2:03 pm โดย mindphp
ขอcode แปลงหน่วยนิ้ว เป็นเซ็นติเมตร ภาษา Java
โดย Anonymous ศ 20 ธ.ค. 2019 9:39 am บอร์ด Programming - PHP
0
1717
ศ 20 ธ.ค. 2019 9:39 am โดย บุคคลทั่วไป
โปรแกรมคำนวณสินเชื่อบ้าน เครื่องมือที่จะช่วยให้คุณคำนวณสินเชื่อบ้านได้ง่ายและรวดเร็ว
โดย prmindphp พฤ 19 ธ.ค. 2019 6:59 pm บอร์ด MindPHP News & Feedback
0
1723
พฤ 19 ธ.ค. 2019 6:59 pm โดย prmindphp
วิธีการแการแก้ไขข้อมูลโพสต์ ในระหว่างขั้นตอนการกดโพสต์ ของ phpbb
โดย Ittichai_chupol พฤ 19 ธ.ค. 2019 5:11 pm บอร์ด PHP Knowledge
0
537
พฤ 19 ธ.ค. 2019 5:11 pm โดย Ittichai_chupol
วิธีการใช้งานปรับลบข้อมูลลายเซ็นของ phpbb โดยใช้ Event ใน phpbb
โดย Ittichai_chupol พฤ 19 ธ.ค. 2019 2:57 pm บอร์ด PHP Knowledge
0
977
พฤ 19 ธ.ค. 2019 2:57 pm โดย Ittichai_chupol
ปฏิทินประจําปี 2563 ภูติผีปีศาจ - แจกฟรี
โดย noppadonsk พฤ 19 ธ.ค. 2019 2:16 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
1
1203
ส 04 ม.ค. 2020 4:38 am โดย mindphp
วิธีการใช้ JQuery เก็บ cookie เพื่อลดขั้นตอนการเปลี่ยนภาษาของแต่ละ user ใน phpbb
โดย Ittichai_chupol พฤ 19 ธ.ค. 2019 11:24 am บอร์ด Jquery & Ajax Knowledge
0
990
พฤ 19 ธ.ค. 2019 11:24 am โดย Ittichai_chupol
ปฏิทินประจําปี 2563 คริสมาสเพิ่มความหวาน และ สดใส - โหลดเก็บไว้ได้เลย
โดย noppadonsk พ 18 ธ.ค. 2019 6:31 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
1
2450
พ 01 ม.ค. 2020 3:11 pm โดย mindphp
ปฏิทินวันหยุด 2563 วันหยุดราชการ วันหยุดใน ปฏิทิน 2563 / 2020 ปฏิทิน 2563 พร้อมวันหยุดราชการ
โดย noppadonsk พ 18 ธ.ค. 2019 6:20 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
16
440
อ 14 ม.ค. 2020 3:32 pm โดย LEG
วิธีการปรับเปลี่ยนตัวอักษรให้เป็น พิมพ์ใหญ่ - พิมพ์เล็ก ทั้งมด
โดย Ittichai_chupol พ 18 ธ.ค. 2019 5:27 pm บอร์ด CSS Knowledge
0
57
พ 18 ธ.ค. 2019 5:27 pm โดย Ittichai_chupol
วิธีการปรับแก้ไขส่วนการแสดงผลหน้าสมาชิก ใน phpbb
โดย Ittichai_chupol พ 18 ธ.ค. 2019 5:07 pm บอร์ด PHP Knowledge
0
45
พ 18 ธ.ค. 2019 5:07 pm โดย Ittichai_chupol
อยากทราบวิธีการที่จะทำให้ extension เข้าไปอ่านไฟล์ bookmark ได้ครับ
โดย Ittichai_chupol พ 18 ธ.ค. 2019 4:18 pm บอร์ด Programming - PHP
2
61
พ 18 ธ.ค. 2019 5:09 pm โดย Ittichai_chupol
Joomla เวอร์ชั่นใหม่มาแล้ว 3.9.14 มีปรับปรุงกว่า 36 รายการ
โดย tsukasaz พ 18 ธ.ค. 2019 11:07 am บอร์ด MindPHP News & Feedback
0
54
พ 18 ธ.ค. 2019 11:07 am โดย tsukasaz