ในบทความนี้จะเป็นการแชร์ความรู้เกี่ยวกับการการทำ
base64 ของภาพ ออกมาเป็นไฟล์
PDF โดยในการสร้างจะใช้ libraly ที่ชื่อว่า
reportlab ในการสร้างไฟล์ PDF โดยในการทำงานนั้น เราจะทำการ รับ Input base64 ของภาพ เข้ามาก่อน จากนั้น จะแปลงให้ base64 ของภาพ เป็นภาพปกติ และทำการนำภาพที่ได้ไปใส่ไว้ในไฟล์ PDF ที่เราสร้างขึ้นใหม่ โดยตั้งชื่อว่า newPDF.pdf ซึ่งจะทำการอธิบายโค้ดแต่ละส่วนไว้แล้ว
โค้ด: เลือกทั้งหมด
import base64
from reportlab.pdfgen import canvas
jpg = input("Input Base64 ของภาพ : ") #รับ base64 ของภาพ
with open(r'C:/Users/fonfo/PycharmProjects/pythonProject14\water.jpg', 'wb') as picFile:
picFile.write(base64.b64decode(jpg)) #แปลง base64 ของภาพ เป็นภาพ จะได้ไฟล์ภาพชื่อว่า water.jpg
#ส่วนนี้จะเป็นการสร้างไฟล์ PDF
pic = 'water.jpg'
c = canvas.Canvas("newPDF.pdf") # ไฟล์ที่จะเขียน
c.drawImage(pic,20,20)
c.save() # บันทึกไฟล์
ผลลัพธ์ที่ได้
- เมื่อสั่งรันจะทำการจะขึ้นให้เราใส่ Input base64 ของภาพ ให้เราใส่ base64 ของภาพ และกดเอ็นเตอร์
- เมื่อสั่งรันจะขึ้นให้เราใส่ Input base64 ของภาพ.png (10.08 KiB) Viewed 343 times
- โดยจะได้ไฟล์ภาพหนึ่งไฟล์ และไฟล์ PDF หนึ่งไฟล์
- จะได้ไฟล์ภาพหนึ่งไฟล์ และไฟล์ PDF หนึ่งไฟล์.png (5.51 KiB) Viewed 343 times
- ซึ่งไฟล์ PDF ที่ได้จะมีการเขียนรูปที่เราแปลงไว้
- ซึ่งไฟล์ PDF ที่ได้จะมีการเขียนรูปที่เราแปลงไว้.png (98.38 KiB) Viewed 343 times
จากการทำงานจะเห็นได้ว่า เราจะมีการรับ base64 ของภาพเข้ามาก่อน เพื่อทำการแปลงเป็นภาพปกติ จากนั้นเราจะใช้ canvas ใน
การสร้างไฟล์ PDF โดยนำภาพที่เราแปลงได้มาใส่ไว้ใน ไฟล์ PDF ที่เราสร้างขึ้น โดยใช้ตัวแปร pic ในการเรียกใช้งาน ไฟล์ภาพ ซึ่งการใช้งาน reportlab ในการสร้างไฟล์ PDF ด้วย
python นั้น สามารถทำการใส่ได้ทั้งข้อความหรือรูปตามตัวอย่างในบทความนี้ ซึ่งขึ้นอยู่กับการออกแบบตามความต้องการของผู้ใช้