การแปลงไฟล์ PDF เป็นภาพ และทำการส่งค่า กลับเป็น base64 ของไฟล์ภาพที่แปลง

แชร์ความรู้ภาษา Python ไพทอน การเขียนโปรแกรมภาษาไพทอน

Moderator: mindphp, ผู้ดูแลกระดาน

ภาพประจำตัวสมาชิก
fonfonn
PHP VIP Members
PHP VIP Members
โพสต์: 4983
ลงทะเบียนเมื่อ: 11/07/2022 9:28 am

การแปลงไฟล์ PDF เป็นภาพ และทำการส่งค่า กลับเป็น base64 ของไฟล์ภาพที่แปลง

โพสต์ที่ยังไม่ได้อ่าน โดย fonfonn »

ในบทความนี้จะเป็นการแชร์เกี่ยวกับการ แปลง base64 ของไฟล์ PDF เป็นภาพ จากนั้นให้มีการ print base64 ของไฟล์ภาพที่แปลงได้ ออกมา โดยใช้ภาษา python ซึ่งในการทำงาน เราจะทำการสร้าง ตัว Input เพื่อรับ base64 ของไฟล์ PDF จากนั้น ทำการแปลง base64 ของไฟล์ PDF เป็น PDF ธรรมดา และแปลง PDF นั้น ออกมาเป็นภาพ ซึ่งจะมีการแปลง 2 ครั้ง คือ
  • 1. แปลง จาก base64 ของไฟล์ PDF เป็น PDF ธรรมดา
  • 2. แปลง PDF ธรรมดา เป็น ไฟล์ภาพ
โดยไฟล์ที่เราจะได้คือ ไฟล์ PDF หนึ่งไฟล์ และไฟล์ภาพหนึ่งไฟล์ จากนั้น เราจะทำการสั่ง print base64 ของไฟล์ภาพที่แปลงได้ ซึ่งจะทำการอธิบายโค้ดแต่ละส่วนไว้แล้ว

โค้ด: เลือกทั้งหมด

import base64
import subprocess

base64_pdf = input("string base64 ของ PDF : ") #ตัวรับ base64 ของ PDF และเก็บไว้ในตัวแปร base64_pdf

with open(r'C:\Users\fonfo\PycharmProjects\pythonProject13\testPDF.pdf', 'wb') as theFile:
    theFile.write(base64.b64decode(base64_pdf))
#การแปลง base64 ของ PDF เป็น PDF และตั้งชื่อไฟล์ว่า testPDF.pdf

process = subprocess.Popen(r"Magick convert C:\Users\fonfo\PycharmProjects\pythonProject13\testPDF.pdf C:\Users\fonfo\PycharmProjects\pythonProject13\testPDF.jpg", stdout=subprocess.PIPE, stderr=subprocess.PIPE)
out, err = process.communicate()
#การแปลง PDF เป็นไล์ภาพ และตั้งชื่อไฟล์ว่า testPDF.jpg

with open("testPDF.jpg", "rb") as image_file:
    encoded_string = base64.b64encode(image_file.read())
#ทำการ encode ไฟล์ภาพ เป็น base64 และเก็บในตัวแปรที่ชื่อว่า encoded_string

print ("base64 ของ ภาพที่แปลงได้ คือ : " + str(encoded_string))
#ทำการ ปริ๊น base64 ของ ภาพที่แปลงได้ออกมา 
ผลลัพธ์ที่ได้
  • เมื่อสั่งรันจะพบข้อความให้เราใส่ base64 ของไฟล์ PDF ให้เราทำการใส่ base64 ที่มี หลังเครื่องหมาย : และกดเอ็นเตอร์
    ใส่ base64 ของไฟล์ PDF.png
    ใส่ base64 ของไฟล์ PDF.png (7.96 KiB) Viewed 566 times
  • จะได้คือ ไฟล์ PDF หนึ่งไฟล์ และไฟล์ภาพหนึ่งไฟล์
    ไฟล์ที่ได้ 2 ไฟล์.png
    ไฟล์ที่ได้ 2 ไฟล์.png (5.06 KiB) Viewed 566 times
  • จากนั้นเมื่อกลับมาดูในส่วนของตัวที่ ทำการ ใส่ base64 ของไฟล์ PDF ในตอนแรก จะพบ base64 ของ ภาพที่เรา ได้ทำการแปลงไว้
    base64 ของภาพ.png
    base64 ของภาพ.png (212.93 KiB) Viewed 566 times
สรุปได้ว่า
เราสามารถทำการแปลงไฟล์ bast64 ออกมาเป็นไฟล์เดิมด้วยคำสั่ง base64.b64decode ซึ่งอยู่ในส่วนของการทำงานในการแปลง bast64 ออกมาเป็นไฟล์ PDF และเรายังสามารถแปลงไฟล์ไปเป็น bast64 ด้วยคำสั่ง base64.b64encode ซึ่งอยู่ในส่วนของการทำงานในการไฟล์ภาพเป็น bast64 ซึ่งการทำงานทั้งสองวิธีนี้คือวิธีการเข้ารหัสและถอดรหัสของข้อมูล โดยใช้คำสั่ง encode และ decode ในการทำงาน
you're the only one treasure💎
  • Similar Topics
    ตอบกลับ
    แสดง
    โพสต์ล่าสุด

ผู้ใช้งานขณะนี้

สมาชิกกำลังดูบอร์ดนี้: athirach.offcial, facebook.com [Crawler] และบุคลทั่วไป 89