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

สร้างลูปข้อมูลเหมือนกันหลายหน้าในไฟล์ PDF

สร้างลูปข้อมูลเหมือนกันหลายหน้าในไฟล์ PDF เป็นการฟิคข้อมูลให้แสดงด้านบนกระดาษหลายๆหน้าด้วย python ขั้นตอนแรกก็เริ่มจากการติดตั้งโมดูล FPDF ตามด้วยการสร้าง class และสร้างฟังก์ชันอีก3 ฟังก์ชัน โดยฟังก์ชันแรกคือการกำหนดส่วนที่จะแสดงด้านบนหัวกระดาษ ฟังก์ชันที่ 2 เป็นการสร้างเส้น footer ฟังก์ชันที่ 3 เป็นการสร้างไฟล์ PDF แล้วจบด้วยคำสั่งการเรียกใช้ฟังก์ชันการสร้างไฟล์ PDF สามารถลองเขียนโค้ดแล้วทำความเข้าใจได้ด้านล่างนี้เลยครับ

 

ขั้นตอนการในการติดตั้ง FPDF บนระบบปฏิบัติการของ Windows

pip install fpdf

 

Input

from fpdf import FPDF

class CustomPDF(FPDF):

    def header(self):
        #โลโกและกำหนดฟ้อนด์ ขนาดฟ้อนด์
        self.image('dog.jpg', 10, 8, 33)
        self.set_font('Arial', 'B', 15)
        #เพิ่มที่อยู่
        self.cell(100)
        self.cell(0, 5, 'Mike Driscoll', ln=1)
        self.cell(100)
        self.cell(0, 5, '123 American Way', ln=1)
        self.cell(100)
        self.cell(0, 5, 'Any Town, USA', ln=1)
        #ตัวแบ่งบรรทัด
        self.ln(20)

    def footer(self):
        self.set_y(-10)
        self.set_font('Arial', 'I', 8)
        #เพิ่มจำนวนหน้ากระดาษ
        page = 'Page ' + str(self.page_no()) + '/{nb}'
        self.cell(0, 10, page, 0, 0, 'C')

def create_pdf(pdf_path):
    pdf = CustomPDF()
    pdf.alias_nb_pages()
    pdf.add_page()
    pdf.set_font('Times', '', 12)
    #สร้างลูปเพื่อแสดงข้อความหลายๆข้อความ
    line_no = 1
    for i in range(50):
        pdf.cell(0, 10, txt="Line #{}".format(line_no), ln=1)
        line_no += 1
    pdf.output(pdf_path)

if __name__ == '__main__':
    create_pdf('A.pdf')

Output

 

แสดงภาพและข้อความบริเวณขวาบน
ภาพและข้อความที่เราฟิคไว้จะแสดงบริเวณด้านบนข้อความ
แสดงภาพและข้อความบริเวณด้านบน
ข้อมูลในช่องสี่เหลี่ยมเขียวแสดงเหมือนกันกับภาพที่ 1
ข้อความที่แสดงบริเวณด้านบนจะมีภาพกับข้อความ
ในส่วนของหน้าที่ 3 ผมได้ลูปข้อความให้แสดง 50 บรรทัด ก็จะไปสิ้นสุดหน้าที่ 3 

 

คำสั่งในการทำงานเริ่มแรกต้องทำการติดตั้งโมดูล FPDF แล้วเรียกใช้โมดูล FPDF มาเพื่อสร้างไฟล์ PDF จากนั้นสร้าง Class ขึ้นมาเพื่อเก็บค่า object แล้วต่อด้วยการสร้างฟังก์ชัน โดยฟังก์ชันในที่นี้มี 3 ฟังก์ชัน ฟังก์ชันแรกเป็นการกำหนดข้อมูลที่จะฟิคไว้บนหัวกระดาษ ตามด้วยฟังก์ชันที่ 2 เป็นการสร้าง footer และต่อด้วยฟังก์ชันที่ 3 เป็นการสร้างไฟล์ PDF และกำหนด style ต่างๆแล้วต่อด้วยการเรียกใช้ฟังก์ชันสร้างไฟล์ PDF 

 

ช่องทางการศึกษาเพิ่มเติมข่าวที่น่าสนใจเกี่ยวกับ : สร้างลูปข้อมูลเหมือนกันหลายหน้าในไฟล์ PDF

-VDO Tutorail - Python (51)

-บทเรียนเกี่ยวกับ Python (58)

-บทเรียนเกี่ยวกับ Python GUI (17)

-เทคนิคการเขียน Python (66)

-ถาม-ตอบ ปัญหา Python (627)

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
ถ้าต้องการจะส่งเมล เเล้วแนบไฟล์ไปด้วยใน phpbb ทำยังไงคะ
โดย thatsawan ส 11 ก.ค. 2020 11:33 am บอร์ด Programming - PHP
2
46
ส 11 ก.ค. 2020 3:10 pm โดย mindphp
การเพิ่มกรอบจอโทรศัพท์มือถือบน Google Chrome
โดย natthanit.r2538 ส 11 ก.ค. 2020 10:41 am บอร์ด Share Knowledge
0
7
ส 11 ก.ค. 2020 10:41 am โดย natthanit.r2538
งานประจำวันที่ 11 กรกฏาคม 2563
โดย Phakakrong ส 11 ก.ค. 2020 9:22 am บอร์ด M105 - ผกากรอง กุสาวดี
3
18
ส 11 ก.ค. 2020 6:48 pm โดย Phakakrong
ถ้าต้องการเช็คค่าว่าง select ให้ alert ก่อนก่อนปุ่มอื่นๆ ทำยังไงได้บ้างคะ
โดย thatsawan ศ 10 ก.ค. 2020 4:18 pm บอร์ด JavaScript & Jquery Ajax
1
15
ศ 10 ก.ค. 2020 4:59 pm โดย tsukasaz
งานประจำวันที่ 10 กรกฏาคม 2563
โดย Phakakrong ศ 10 ก.ค. 2020 9:35 am บอร์ด M105 - ผกากรอง กุสาวดี
5
20
ศ 10 ก.ค. 2020 7:58 pm โดย Phakakrong
Google Sheet : วิธีการเปลี่ยนภาษา (ไทย เป็น อังกฤษ)
โดย Phakakrong พฤ 09 ก.ค. 2020 6:34 pm บอร์ด Share Knowledge
0
16
พฤ 09 ก.ค. 2020 6:34 pm โดย Phakakrong
มาลองใช้งาน Google Drive กันแบบฉบับง่ายๆ
โดย Phakakrong พฤ 09 ก.ค. 2020 4:08 pm บอร์ด Microsoft Office Knowledge & line & Etc
0
16
พฤ 09 ก.ค. 2020 4:08 pm โดย Phakakrong
ข้อมูลไม่ขึ้นมาแสดง รบกวนช่วยดูโค้ดให้ทีคะ คือทำหน้าแบบฟอร์ม แล้วต้องการแก้ไขข้อมูลตามไอดี
โดย Jakkrit Saengngoenon พฤ 09 ก.ค. 2020 1:24 pm บอร์ด Programming - PHP
0
15
พฤ 09 ก.ค. 2020 1:24 pm โดย Jakkrit Saengngoenon
งานประจำวันที่ 9 กรกฏาคม 2563
โดย Phakakrong พฤ 09 ก.ค. 2020 9:40 am บอร์ด M105 - ผกากรอง กุสาวดี
1
28
พฤ 09 ก.ค. 2020 6:51 pm โดย Phakakrong
สรุปผลการเรียน Process help desk
โดย Phakakrong พ 08 ก.ค. 2020 7:05 pm บอร์ด M105 - ผกากรอง กุสาวดี
1
11
พฤ 09 ก.ค. 2020 10:29 am โดย Phakakrong
ISO 29110 คืออะไร มาตรฐานที่ให้การรับรองคุณภาพการบริหารงาน หรือผลิตภัณฑ์ซอร์ฟแวร์ มีขั้นตอนการขออย่างไหร่
โดย natthanit.r2538 พ 08 ก.ค. 2020 7:02 pm บอร์ด Microsoft Office Knowledge & line & Etc
1
32
พ 08 ก.ค. 2020 9:59 pm โดย UoIU112
การ Link ข้อมูลข้าม Sheet /ข้ามไฟล์ ใน Excel แบบง่ายๆ
โดย Phakakrong พ 08 ก.ค. 2020 6:55 pm บอร์ด Microsoft Office Knowledge & line & Etc
0
20
พ 08 ก.ค. 2020 6:55 pm โดย Phakakrong
ข้อควรรู้เกี่ยวกับการลดหย่อนภาษีด้วยเงินบริจาคมูลนิธิ
โดย medalezga พ 08 ก.ค. 2020 1:55 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
17
พ 08 ก.ค. 2020 1:55 pm โดย medalezga
แนะนำ 10 โปรแกรมตัดต่อวิดีโอบน PC ทั้งฟรีและเสียเงิน
โดย Phakakrong พ 08 ก.ค. 2020 1:30 pm บอร์ด Microsoft Office Knowledge & line & Etc
0
21
พ 08 ก.ค. 2020 1:30 pm โดย Phakakrong
งานประจำวันที่ 8 กรกฏาคม 2563
โดย Phakakrong พ 08 ก.ค. 2020 9:28 am บอร์ด M105 - ผกากรอง กุสาวดี
3
42
พ 08 ก.ค. 2020 7:16 pm โดย Phakakrong
SMS Gateway คืออะไร
โดย natthanit.r2538 อ 07 ก.ค. 2020 5:11 pm บอร์ด Microsoft Office Knowledge & line & Etc
1
36
พ 08 ก.ค. 2020 5:15 pm โดย natthanit.r2538
ใบเสนอราคา (Quotation) คืออะไร
โดย Phakakrong อ 07 ก.ค. 2020 4:55 pm บอร์ด Share Knowledge
0
39
อ 07 ก.ค. 2020 4:55 pm โดย Phakakrong
วิธีการเดินทางจากอำเภอเชียงคำ จ.พะเยา มา กรุงเทพมหานคร
โดย Phakakrong อ 07 ก.ค. 2020 12:03 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
44
อ 07 ก.ค. 2020 12:03 pm โดย Phakakrong
Note
โดย Phakakrong อ 07 ก.ค. 2020 11:16 am บอร์ด M105 - ผกากรอง กุสาวดี
1
7
พ 08 ก.ค. 2020 10:09 am โดย Phakakrong
list ความรู้ที่มี ว่าเคยเรียน หรือ เคยทำอะไรมาบ้าง
โดย Phakakrong อ 07 ก.ค. 2020 11:01 am บอร์ด M105 - ผกากรอง กุสาวดี
3
25
อ 07 ก.ค. 2020 3:27 pm โดย Phakakrong