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

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

 

บทที่ 7 การทําสารบัญในเอกสาร PDF (พีดีเอฟ)

 

บทที่ 7 การทําสารบัญในเอกสาร PDF (พีดีเอฟ)
บทที่ 7 การทําสารบัญในเอกสาร PDF (พีดีเอฟ)

 

                 ปกติแล้วสำหรับเอกสารที่มีข้อมูลปริมาณมาก จำนวนหน้าหลายหน้า การค้นหาข้อมูลภายในเอกสารจะทำได้ยาก สิ่งที่จะทำให้ผู้อ่านทราบว่าภายในเอกสารนี้มีข้อมูลหลักเกี่ยวข้องกับเรื่องอะไรบ้างนั้น ผู้สร้างเอกสารจะต้องมีหน้าข้อมูลสารบัญสำหรับแสดงหัวข้อเนื้อหาหลักๆ ซึ่งเอกสาร PDF (พีดีเอฟ) ที่สร้างด้วย TCPDF (ทีซีพีดีเอฟ) มีคำสั่งที่สามารถสร้างสารบัญและคลิกเชื่อมโยงไปยังเนื้อหาของหัวข้อนั้นๆ ได้ด้วย ในบทเรียนนี้จะมาดูวิธีการสร้างสารบัญในเอกสาร PDF (พีดีเอฟ) กัน


ตัวอย่างโค้ด

<?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 07');
$pdf->SetSubject('Mindphp Example');
$pdf->SetKeywords('Mindphp, TCPDF, PDF, example, guide');

$pdf->setHeaderFont(array('freeserif', 'B', 12));
$pdf->SetHeaderData('mindphp.png', 20, 'Mindphp Example 07', 'การทำสารบัญในเอกสาร PDF', 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');
$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);

// เพิ่มหน้าเอกสาร
$pdf->AddPage();

// กำหนดให้คั่นหน้านี้เพื่อทำเป็นสารบัญ
// บทที่ 1 = ข้อความที่จะแสดงในแถบของสารบัญ
// 0 = ลำดับเลเวลของสารบัญ เริ่มต้นที่ 0 ถ้าต้องการกำหนดเป็นเลเวลย่อยให้ใช้เป็น 1 ขึ้นไป
// 0 = เป็นตำแหน่งตามตั้งนับจากด้านบนเอกสารลงมา เมื่อผู้ใช้คลิกที่สารบัญให้แสดงที่ตำแหน่งไหนของหน้านั้น
// '' = เป็นการกำหนดเลขหน้าที่ต้องการเชื่อมโยงไป ถ้าไม่กำหนดจะเป็นหน้าปัจจุบันที่คำสั่งนี้อยู่
// B = กำหนดให้แสดงรูปแบบข้อความเป็นตัวหนา
$pdf->Bookmark('บทที่ 1', 0, 0, '', 'B');

// หัวข้อเนื้อหา
$pdf->writeHTML('<h2>หัวข้อบทที่ 1</h2>', true);

// เนื้อหาในหน้าเอกสาร
$pdf->writeHTML('เนื้อหาบทที่ 1');


$pdf->AddPage();
$pdf->Bookmark('บทที่ 2', 0, 0, '', 'B');
$pdf->writeHTML('<h2>หัวข้อบทที่ 2</h2>', true);
$pdf->writeHTML('เนื้อหาบทที่ 2');

$pdf->AddPage();
// กำหนดให้เป็นหัวข้อย่อยของบทที่ 2
$pdf->Bookmark('หัวข้อ 2.1', 1, 0, '', 'B');
$pdf->writeHTML('<h2>หัวข้อ 2.1</h2>', true);
$pdf->writeHTML('เนื้อหาบทที่ 2.1');

$pdf->AddPage();
// กำหนดให้เป็นหัวข้อย่อยของบทที่ 2
$pdf->Bookmark('หัวข้อ 2.2', 1, 0, '', 'B');
$pdf->writeHTML('<h2>หัวข้อ 2.2</h2>', true);
$pdf->writeHTML('เนื้อหาบทที่ 2.2');

$pdf->Output('mindphp07.pdf', 'I');

 

การแสดงผลกการทําสารบัญในเอกสาร PDF (พีดีเอฟ)

การทําสารบัญในเอกสาร PDF (พีดีเอฟ)
การทําสารบัญในเอกสาร PDF (พีดีเอฟ)

 

หัวเรื่อง
บทที่ 7 การทําสารบัญในเอกสาร PDF (พีดีเอฟ)
หมวดหมู่
สร้างไฟล์ PDF ด้วยภาษา PHP, สร้างไฟล์ PDF ด้วยภาษา PHP
ฮิต
7152
ผู้สร้างเอกสาร
ae
วันที่สร้างเอกสาร
2017-12-25 18:18:57
รายละเอียด

ปกติแล้วสำหรับเอกสารที่มีข้อมูลปริมาณมาก จำนวนหน้าหลายหน้า การค้นหาข้อมูลภายในเอกสารจะทำได้ยาก สิ่งที่จะทำให้ผู้อ่านทราบว่าภายในเอกสารนี้มีข้อมูลหลักเกี่ยวข้องกับเรื่องอะไรบ้างนั้น

> อ่านต่อ ...

mindphp07.zip

ประเภทไฟล์ zip

ขนาดไฟล์ 5.54 KB

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

วันที่อัพโหลด 2017-12-22 04:42:27


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

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
การทำให้กรอบสีฟ้า เวลาทำให้ scroll bar เลื่อนลงมาได้อย่างอัตโนมัติหายไป
โดย ชัยรัตน์ วงศ์เพชรพัชระ พ 23 ต.ค. 2019 11:12 pm บอร์ด JavaScript & Jquery Ajax
0
4
พ 23 ต.ค. 2019 11:12 pm โดย ชัยรัตน์ วงศ์เพชรพัชระ
คุณสมบัติของนักบัญชีที่ดี
โดย nnamfon.26 พ 23 ต.ค. 2019 6:09 pm บอร์ด ถาม - ตอบ ธุรกิจ กฏหมาย ภาษี บัญชี
0
9
พ 23 ต.ค. 2019 6:09 pm โดย nnamfon.26
กรณีบริษัทจะทำใบวางบิลให้กับลูกค้า ที่มี invoice ต่างสาขา สามารถทำใบวางบิลได้มั้ย
โดย thatsawan พ 23 ต.ค. 2019 5:31 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
5
พ 23 ต.ค. 2019 5:31 pm โดย thatsawan
แหล่งท่องเที่ยวในจังหวัดภูเก็ต
โดย nnamfon.26 พ 23 ต.ค. 2019 4:59 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
6
พ 23 ต.ค. 2019 4:59 pm โดย nnamfon.26
อยากทราบว่า แคปหน้าจอในโปรแกรม netbean ตอนที่กำลังนำเมาส์ไปชี้ตัวเลือกใน list ได้ยังไงครับ
โดย bankjittapol อ 22 ต.ค. 2019 6:31 pm บอร์ด ถาม - ตอบ คอมพิวเตอร์
1
43
อ 22 ต.ค. 2019 6:43 pm โดย mindphp
ความรู้เกี่ยวกับการบัญชีโรงแรม
โดย nnamfon.26 อ 22 ต.ค. 2019 6:21 pm บอร์ด ถาม - ตอบ ธุรกิจ กฏหมาย ภาษี บัญชี
0
22
อ 22 ต.ค. 2019 6:21 pm โดย nnamfon.26
จำทำอย่างไรให้ค่า input เดียวเก็บได้หลายตัวแปลครับ
โดย jamepiyawat อ 22 ต.ค. 2019 5:39 pm บอร์ด Programming - PHP
3
39
อ 22 ต.ค. 2019 6:30 pm โดย jamepiyawat
Tips : เปิดไฟล์ .CSV ด้วย excel (ข้อมูลในไฟล์มีมากกว่า 1 ล้านแถว)
โดย jataz2 อ 22 ต.ค. 2019 5:19 pm บอร์ด Programming - C/C++ & java & Python
0
14
อ 22 ต.ค. 2019 5:19 pm โดย jataz2
วิธีทำให้ text box มีภาพพื้นหลัง ต้องทำอย่างไร ครับ
โดย jamepiyawat อ 22 ต.ค. 2019 5:19 pm บอร์ด HTML CSS
4
37
อ 22 ต.ค. 2019 6:03 pm โดย jamepiyawat
บัญชีบริหาร คืออะไร
โดย nnamfon.26 อ 22 ต.ค. 2019 5:17 pm บอร์ด ถาม - ตอบ ธุรกิจ กฏหมาย ภาษี บัญชี
0
27
อ 22 ต.ค. 2019 5:17 pm โดย nnamfon.26
จะทำอย่างไรให้ข้อความของ placeholder แสดงข้อความได้หลายบรรทัดครับ
โดย jamepiyawat อ 22 ต.ค. 2019 4:41 pm บอร์ด HTML CSS
3
37
อ 22 ต.ค. 2019 6:04 pm โดย jamepiyawat
สร้าง selectซ้อน2ชั้น โดยดึงค่าจาก database ใช้แค่ python
โดย mstsksmstsks อ 22 ต.ค. 2019 4:13 pm บอร์ด HTML CSS
3
33
อ 22 ต.ค. 2019 4:49 pm โดย mindphp
สร้าง selectซ้อน2ชั้น โดยดึงค่าจาก database ใช้แค่ python
โดย May Saithan อ 22 ต.ค. 2019 4:07 pm บอร์ด Programming - C/C++ & java & Python
0
28
อ 22 ต.ค. 2019 4:07 pm โดย May Saithan
judspec.com ที่นี่ มีแบตเตอรี่โน๊ตบุ๊คดีๆ และราคาถูกมากมาย พร้อมจำหน่ายให้คุณแล้ว ทุกรุ่นทุกยี่ห้อ
โดย popeyebkk อ 22 ต.ค. 2019 4:00 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
15
อ 22 ต.ค. 2019 4:00 pm โดย popeyebkk
อยากทราบโปรแกรมสำหรับแคปภาพหน้าจอและปรับแต่งภาพหลังการแคป ใน windows นอกจากSnipping Toolหน่อยค่ะ
โดย nnamfon.26 อ 22 ต.ค. 2019 3:55 pm บอร์ด ถาม - ตอบ คอมพิวเตอร์
2
47
อ 22 ต.ค. 2019 4:18 pm โดย nnamfon.26
ต้องการที่จะเก็บข้อมูลลงฐานข้อมูลเป็นตัวเลขและ comme ต้องใช้ type อะไรดีครับ
โดย jamepiyawat อ 22 ต.ค. 2019 3:33 pm บอร์ด SQL - Database
3
41
อ 22 ต.ค. 2019 4:35 pm โดย thatsawan
อยากทราบวิธีการดึงปีปัจจุบันมาแสดง พร้อมกับดึงปีในอนาคตมารให้เลือก ล่วงหน้า อย่างน้อย 10 ใน php
โดย Ittichai_chupol อ 22 ต.ค. 2019 10:52 am บอร์ด Programming - PHP
1
37
อ 22 ต.ค. 2019 11:46 am โดย mindphp
อัพเดทความคืบหน้า / Progress - ThaiVI
โดย mindphp พ 10 ต.ค. 2018 3:49 am บอร์ด ThaiVI (Main)
391
2679
อ 22 ต.ค. 2019 8:13 pm โดย aninthana
จัดพื้นที่กลางห้อง ให้ตอบโจทย์ทุกการใช้งาน
โดย Pattita Dumrongsappakit จ 21 ต.ค. 2019 5:51 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
35
จ 21 ต.ค. 2019 5:51 pm โดย Pattita Dumrongsappakit
การเดินทางจากนครศรีธรรมราชมากรุงเทพฯ
โดย nnamfon.26 จ 21 ต.ค. 2019 5:09 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
30
จ 21 ต.ค. 2019 5:09 pm โดย nnamfon.26