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

สร้างลูปข้อมูลเหมือนกันหลายหน้าในไฟล์ 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)

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
วิธีใช้โปรแกรม Weka ในการทำนายข้อมูล
โดย Grammanano ส 07 ธ.ค. 2019 6:54 pm บอร์ด Share Knowledge
0
2
ส 07 ธ.ค. 2019 6:54 pm โดย Grammanano
พื้นฐาน RML เพื่อทำใบปริ้นท์ในระบบ ERP
โดย Grammanano ส 07 ธ.ค. 2019 4:58 pm บอร์ด M098 - อนงค์นาท ไฝขาว
1
6
ส 07 ธ.ค. 2019 5:47 pm โดย Grammanano
แนะนำฟีเจอร์ Coupons ของ MooZiiCart ตัวช่วย ทำ คูปองส่วนลด ในเว็บขายของ สำหรับร้านค้าออนไลน์ ที่จะกระตุ้นยอดขายบางช่วง
โดย prmindphp ส 07 ธ.ค. 2019 3:56 pm บอร์ด MindPHP News & Feedback
0
10
ส 07 ธ.ค. 2019 3:56 pm โดย prmindphp
ใน ปล๊กอิน เราสามารถนำข้อความในไฟล์ภาษาออกมาแสดงได้อย่างไร ครับ
โดย jamepiyawat ส 07 ธ.ค. 2019 2:21 pm บอร์ด Joomla Development
0
9
ส 07 ธ.ค. 2019 2:21 pm โดย jamepiyawat
Block IP เข้าเว็บ เซิร์ฟเวอร์ เป็นข่วง ด้วย .htaccess
โดย mindphp ส 07 ธ.ค. 2019 2:12 pm บอร์ด Linux - Web Server
1
9
ส 07 ธ.ค. 2019 3:37 pm โดย mindphp
ภาพประกอบ Extensions
โดย numtan5839 ส 07 ธ.ค. 2019 11:19 am บอร์ด M097 - ตรีเนตร บูรณโพธิ์ทอง
0
2
ส 07 ธ.ค. 2019 11:19 am โดย numtan5839
งานประจำวันที่ 7 ธันวาคม 2562
โดย numtan5839 ส 07 ธ.ค. 2019 10:15 am บอร์ด M097 - ตรีเนตร บูรณโพธิ์ทอง
3
8
ส 07 ธ.ค. 2019 7:02 pm โดย numtan5839
งานประจำวันที่ 7 ธันวาคม 2562
โดย Grammanano ส 07 ธ.ค. 2019 10:05 am บอร์ด M098 - อนงค์นาท ไฝขาว
3
16
ส 07 ธ.ค. 2019 7:33 pm โดย mindphp
คำว่า extension ผิดค่ะ
โดย numtan5839 ศ 06 ธ.ค. 2019 8:17 pm บอร์ด MindPHP News & Feedback
1
14
ส 07 ธ.ค. 2019 1:20 am โดย mindphp
ทำอย่างไรให้ google slide นั้นสามารถแสดงหน้าที่เรากำหนดได้ ผ่าน url ครับ
โดย jamepiyawat ศ 06 ธ.ค. 2019 5:23 pm บอร์ด ถาม - ตอบ คอมพิวเตอร์
1
19
ส 07 ธ.ค. 2019 5:42 pm โดย numtan5839
การทำนายข้อมูลแบบ Dicision Tree ด้วยโปรแกรม Weka
โดย Grammanano ศ 06 ธ.ค. 2019 5:16 pm บอร์ด Share Knowledge
0
10
ศ 06 ธ.ค. 2019 5:16 pm โดย Grammanano
ทำไม แปลงวันเดือนปีเป็นวันที่ ตามระบบของ Joomla แล้ววันถึงถอยไปวันหนึ่งครับ
โดย jamepiyawat ศ 06 ธ.ค. 2019 3:23 pm บอร์ด Joomla Development
1
15
ศ 06 ธ.ค. 2019 4:51 pm โดย thatsawan
คำสั่งพื้นฐานในการใช้ Matlab เพื่อการทำ Image Processing
โดย Grammanano ศ 06 ธ.ค. 2019 3:20 pm บอร์ด Share Knowledge
0
11
ศ 06 ธ.ค. 2019 3:20 pm โดย Grammanano
Introducing the Module Weather Forcecast.
โดย numtan5839 ศ 06 ธ.ค. 2019 2:34 pm บอร์ด M097 - ตรีเนตร บูรณโพธิ์ทอง
3
13
ส 07 ธ.ค. 2019 3:25 pm โดย numtan5839
เขียนบทความ แต่พอ save แล้วเนื้อหาไม่แสดง
โดย numtan5839 ศ 06 ธ.ค. 2019 2:30 pm บอร์ด MindPHP News & Feedback
0
11
ศ 06 ธ.ค. 2019 2:30 pm โดย numtan5839
จะทำอย่างไรให้ดึงข้อความ 10 ตัวท้ายได้ครับ
โดย jamepiyawat ศ 06 ธ.ค. 2019 11:39 am บอร์ด Programming - PHP
3
20
ศ 06 ธ.ค. 2019 2:04 pm โดย jamepiyawat
จะทำอย่างไรให้ Plugin Content Change Log แสดงข้อความด้านบนได้ ครับ
โดย jamepiyawat ศ 06 ธ.ค. 2019 11:03 am บอร์ด Joomla Development
1
17
ศ 06 ธ.ค. 2019 7:42 pm โดย thatsawan
งานประจำวันที่ 6 ธันวาคม 2562
โดย Grammanano ศ 06 ธ.ค. 2019 9:43 am บอร์ด M098 - อนงค์นาท ไฝขาว
5
33
ส 07 ธ.ค. 2019 6:59 pm โดย Grammanano
งานประจำวันที่ 6 ธันวาคม 2562
โดย numtan5839 ศ 06 ธ.ค. 2019 9:34 am บอร์ด M097 - ตรีเนตร บูรณโพธิ์ทอง
10
33
ศ 06 ธ.ค. 2019 7:42 pm โดย numtan5839
เปิดตัวเว็บบอร์ด รูปแบบใหม่ ของเรา มีอะไรมาใหม่ ลองมาดูกัน เราใช้ phpBB 3.2 นะ
โดย mindphp พ 04 ธ.ค. 2019 7:44 pm บอร์ด MindPHP News & Feedback
1
34
พ 04 ธ.ค. 2019 8:03 pm โดย thatsawan