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

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

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
PHP 8 มาแล้ว มาพร้อมกับ Feature เพียบ ดูหล่อขึ้นเยอะ เร็วขึ้นด้วย
โดย mindphp ศ 27 พ.ย. 2020 12:45 am บอร์ด MindPHP News & Feedback
0
10
ศ 27 พ.ย. 2020 12:45 am โดย mindphp
ปัญหาย้าย โดเมนแล้ว Wordpress แล้ว Login เข้า admin ไม่ได้ Error ERROR for site owner: Invalid domain for site key
โดย mindphp พฤ 26 พ.ย. 2020 11:05 pm บอร์ด ปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS, CRM
1
9
พฤ 26 พ.ย. 2020 11:34 pm โดย mindphp
การเข้าใช้งานสำหรับลูกค้าเพื่อซื้อห้องพักหรือขายห้องพัก อโกด้า
โดย milk2533 พ 25 พ.ย. 2020 6:43 pm บอร์ด Microsoft Office Knowledge & line & Etc
0
10
พ 25 พ.ย. 2020 6:43 pm โดย milk2533
อุปโภค กับ บริโภค ต่างกันอย่างไร
โดย milk2533 พ 25 พ.ย. 2020 6:09 pm บอร์ด Microsoft Office Knowledge & line & Etc
0
8
พ 25 พ.ย. 2020 6:09 pm โดย milk2533
Lot ผลิต และ วันหมดอายุ สินค้า ดูอย่างไร
โดย milk2533 พ 25 พ.ย. 2020 5:48 pm บอร์ด Microsoft Office Knowledge & line & Etc
0
17
พ 25 พ.ย. 2020 5:48 pm โดย milk2533
ขนส่งสาธารณะ คืออะไร
โดย milk2533 พ 25 พ.ย. 2020 5:26 pm บอร์ด Microsoft Office Knowledge & line & Etc
0
12
พ 25 พ.ย. 2020 5:26 pm โดย milk2533
ใบเสร็จน้ำมันรถที่สามารถนำมาใช้ค่าใช้จ่ายได้ สังเกตอย่างไร
โดย milk2533 พ 25 พ.ย. 2020 4:57 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
10
พ 25 พ.ย. 2020 4:57 pm โดย milk2533
อัพเดทความปลอดภัย 7 จุด!!! ใน Joomla เวอร์ชั่นใหม่ 3.9.23
โดย tsukasaz พ 25 พ.ย. 2020 11:36 am บอร์ด MindPHP News & Feedback
1
37
พ 25 พ.ย. 2020 12:46 pm โดย prmindphp