ขั้นแรกจะเริ่มด้วยการติดตั้ง Library ให้กับเครื่อง Window ดังภาพที่ (1)
ใช้คำสั่ง Conmmandline ดังนี้ ” pip3 install fpdf ” ระบบก็จะติดตั้ง Library FPDF ของ python ให้กับ window
ขั้นต่อมาส่วนของ Code จะต้อง import library FPDF ไปใน code ดังภาพที่ (2)
ส่วนต่อมาจะประกาศตัวแปร (ข้อมูลที่ต้องการจะใส่ในไฟล์ pdf) ดังภาพที่ (3)
ตัวอย่างที่ Path (ที่อยู่ของไฟล์) ที่เรียกใช้รูปแบบ Font หรือจะใช้เป็นที่อยู่ของไฟล์โปรแกรม / รูปภาพ / ที่ใช้บันทึกไฟล์ pdf ดังภาพที่ (4)
สร้าง method ขึ้นมาในชื่อ PDFInformation แล้วภายใน method ก็จะมี Parameter ที่รับเข้ามา ดังภาพที่ (5)
ตัวอย่าง รูปแบบของ font ในที่นี้จะใช้เป็น KinnariBold.ttf (หากไม่มีในเครื่อง ต้องหาโหลดเพิ่มเติม) ดังภาพที่ (6)
การตั้งค่าหน้ากระดาษ หน่วยเป็น มิลลิเมตร (กว้าง 100 มิล x สูง 50 มิล) ดังภาพที่ (7)
ในส่วนของ code การใส่ข้อมูลลงในไฟล์ pdf ดังภาพที่ (8)
- บรรทัดแรก : จะเป็นสร้างหน้ากระดาษ
- บรรทัด 2 : จะเป็นการเรียกใช้รูปแบบ Font (ชื่อfont, ที่อยู่ของfont, KinnariBolf.ttf)
- บรรทัด 3 และ 5 : จะ set ขนาดของ font มีขนาดเท่ากับ 17 และ 14
- บรรทัด 4, 7 และ 9 : จะเพิ่มข้อมูลลงใน pdf เช่น ชื่อ-นามสกุล, ที่อยู่ เป็นต้น และได้กำหนดให้มีระยะห่างจากขอบด้านซ้าย(Maginleft) ขนาดเท่ากับ 9,17 และ 25
การตั้งค่าขนาดรูปภาพ image(‘ชื่อไฟล์รูปภาพ’, ระยะแกน x, ระยะแกน y, ความกว้างของรูปภาพ) ดังภาพที่ (9)
การเรียกใช้งาน method PDFInformation โดยมี Spacial Varibles “__name__” จะเป็น main funtion ดังภาพที่ (10)
ก่อน Run โปรแกรม
หลัง Run โปรแกรม
ผลลัพท์
ตัวอย่าง Code ทั้งหมด
โค้ด: เลือกทั้งหมด
#! /usr/bin/python3
# -*- coding: utf-8 -*-
from fpdf import FPDF
NAME = "Yourname Lastname"
ADDRESS = "555/55 Soi Senanikhom"
CITY = "Lat Phrao"
STATE = "กรุงเทพมหานคร"
COUNTRY = "ประเทศไทย"
POSTCODE = "10230"
PATH_SOURCE = "C:/Users/ksdkd/Desktop/pdf"
def PDFInformation(PATH_SOURCE,NAME,ADDRESS,CITY,STATE,COUNTRY,POSTCODE):
marginleft = 4
fontstyle= 'KinnariBold.ttf'
namefonts = 'kinnari'
pdf = FPDF('P', 'mm', (100, 50))
pdf.add_page()
pdf.add_font(namefonts, '', PATH_SOURCE+"/"+fontstyle, uni=True)
pdf.set_font(namefonts, '', 17)
pdf.text(marginleft, 9, NAME)
pdf.set_font(namefonts, '', 14)
InformationLine1 = (ADDRESS+' '+CITY)
pdf.text(marginleft, 17 ,InformationLine1)
InformationLine2 = (STATE+' '+COUNTRY+' '+POSTCODE)
pdf.text(marginleft , 25, InformationLine2)
pdf.image('Y910.png', x=35, y=27, w=27)
pdf.set_font(namefonts, '', 11)
pdf.output('create PDF.pdf', 'F')
print ("~ Create PDF ...")
if __name__ == '__main__':
PDFInformation(PATH_SOURCE,NAME,ADDRESS,CITY,STATE,COUNTRY,POSTCODE)