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

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

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
อยากทราบว่า แคปหน้าจอในโปรแกรม netbean ตอนที่กำลังนำเมาส์ไปชี้ตัวเลือกใน list ได้ยังไงครับ
โดย bankjittapol อ 22 ต.ค. 2019 6:31 pm บอร์ด ถาม - ตอบ คอมพิวเตอร์
1
15
อ 22 ต.ค. 2019 6:43 pm โดย mindphp
ความรู้เกี่ยวกับการบัญชีโรงแรม
โดย nnamfon.26 อ 22 ต.ค. 2019 6:21 pm บอร์ด ถาม - ตอบ ธุรกิจ กฏหมาย ภาษี บัญชี
0
9
อ 22 ต.ค. 2019 6:21 pm โดย nnamfon.26
จำทำอย่างไรให้ค่า input เดียวเก็บได้หลายตัวแปลครับ
โดย jamepiyawat อ 22 ต.ค. 2019 5:39 pm บอร์ด Programming - PHP
3
24
อ 22 ต.ค. 2019 6:30 pm โดย jamepiyawat
Tips : เปิดไฟล์ .CSV ด้วย excel (ข้อมูลในไฟล์มีมากกว่า 1 ล้านแถว)
โดย jataz2 อ 22 ต.ค. 2019 5:19 pm บอร์ด Programming - C/C++ & java & Python
0
6
อ 22 ต.ค. 2019 5:19 pm โดย jataz2
วิธีทำให้ text box มีภาพพื้นหลัง ต้องทำอย่างไร ครับ
โดย jamepiyawat อ 22 ต.ค. 2019 5:19 pm บอร์ด HTML CSS
4
25
อ 22 ต.ค. 2019 6:03 pm โดย jamepiyawat
บัญชีบริหาร คืออะไร
โดย nnamfon.26 อ 22 ต.ค. 2019 5:17 pm บอร์ด ถาม - ตอบ ธุรกิจ กฏหมาย ภาษี บัญชี
0
10
อ 22 ต.ค. 2019 5:17 pm โดย nnamfon.26
จะทำอย่างไรให้ข้อความของ placeholder แสดงข้อความได้หลายบรรทัดครับ
โดย jamepiyawat อ 22 ต.ค. 2019 4:41 pm บอร์ด HTML CSS
3
22
อ 22 ต.ค. 2019 6:04 pm โดย jamepiyawat
สร้าง selectซ้อน2ชั้น โดยดึงค่าจาก database ใช้แค่ python
โดย mstsksmstsks อ 22 ต.ค. 2019 4:13 pm บอร์ด HTML CSS
3
16
อ 22 ต.ค. 2019 4:49 pm โดย mindphp
สร้าง selectซ้อน2ชั้น โดยดึงค่าจาก database ใช้แค่ python
โดย May Saithan อ 22 ต.ค. 2019 4:07 pm บอร์ด Programming - C/C++ & java & Python
0
8
อ 22 ต.ค. 2019 4:07 pm โดย May Saithan
judspec.com ที่นี่ มีแบตเตอรี่โน๊ตบุ๊คดีๆ และราคาถูกมากมาย พร้อมจำหน่ายให้คุณแล้ว ทุกรุ่นทุกยี่ห้อ
โดย popeyebkk อ 22 ต.ค. 2019 4:00 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
5
อ 22 ต.ค. 2019 4:00 pm โดย popeyebkk
อยากทราบโปรแกรมสำหรับแคปภาพหน้าจอและปรับแต่งภาพหลังการแคป ใน windows นอกจากSnipping Toolหน่อยค่ะ
โดย nnamfon.26 อ 22 ต.ค. 2019 3:55 pm บอร์ด ถาม - ตอบ คอมพิวเตอร์
2
25
อ 22 ต.ค. 2019 4:18 pm โดย nnamfon.26
ต้องการที่จะเก็บข้อมูลลงฐานข้อมูลเป็นตัวเลขและ comme ต้องใช้ type อะไรดีครับ
โดย jamepiyawat อ 22 ต.ค. 2019 3:33 pm บอร์ด SQL - Database
3
20
อ 22 ต.ค. 2019 4:35 pm โดย thatsawan
อยากทราบวิธีการดึงปีปัจจุบันมาแสดง พร้อมกับดึงปีในอนาคตมารให้เลือก ล่วงหน้า อย่างน้อย 10 ใน php
โดย Ittichai_chupol อ 22 ต.ค. 2019 10:52 am บอร์ด Programming - PHP
1
30
อ 22 ต.ค. 2019 11:46 am โดย mindphp
อัพเดทความคืบหน้า / Progress - ThaiVI
โดย mindphp พ 10 ต.ค. 2018 3:49 am บอร์ด ThaiVI (Main)
391
2678
อ 22 ต.ค. 2019 8:13 pm โดย aninthana
จัดพื้นที่กลางห้อง ให้ตอบโจทย์ทุกการใช้งาน
โดย Pattita Dumrongsappakit จ 21 ต.ค. 2019 5:51 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
29
จ 21 ต.ค. 2019 5:51 pm โดย Pattita Dumrongsappakit
การเดินทางจากนครศรีธรรมราชมากรุงเทพฯ
โดย nnamfon.26 จ 21 ต.ค. 2019 5:09 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
22
จ 21 ต.ค. 2019 5:09 pm โดย nnamfon.26
การเดินทางจาก พะเยา มา กรุงเทพฯ
โดย bankjittapol จ 21 ต.ค. 2019 4:58 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
1
22
จ 21 ต.ค. 2019 4:59 pm โดย thatsawan
รวมสถานที่ท่องเที่ยวภาคเหนือ เที่ยวได้ไม่เบื่อ
โดย Decha Thaweeumanjvaroj จ 21 ต.ค. 2019 1:12 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
14
จ 21 ต.ค. 2019 1:12 pm โดย Decha Thaweeumanjvaroj
Let's me learn how to landing on the moon.
โดย Ellie Freedom อ 20 ต.ค. 2019 6:43 pm บอร์ด Programming - PHP
0
27
อ 20 ต.ค. 2019 6:43 pm โดย Ellie Freedom
สอบถามครับ เชื่อมฐานข้อมูล Wordpress ไม่ได้ครับ
โดย chatee supasand ส 19 ต.ค. 2019 4:07 pm บอร์ด ปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS CRM
4
112
อ 20 ต.ค. 2019 1:38 pm โดย vmuser