การสร้างโฟล์เดอร์เพื่อเก็บไฟล์ภาพที่ทำการแปลง จาก base64 PDF เป็น ไฟล์ภาพ

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

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

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

การสร้างโฟล์เดอร์เพื่อเก็บไฟล์ภาพที่ทำการแปลง จาก base64 PDF เป็น ไฟล์ภาพ

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

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

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

import base64
import subprocess
from datetime import datetime
import os

pdf_b64 = input("Input base64 PDF : ") #รับ Input base64 ของไฟล์ PDF

dt = datetime.now() #เรียกใช้งานเวลาปัจจุบัน โดยเก็บใน dt
ts = str(datetime.timestamp(dt)) #แปลงเวลที่ได้ในรูปแบบ str
directory = "pdf_to_image" + ts #ชื่อโฟร์เดอร์ที่สร้าง คือ pdf_to_image ตามด้วยเวลาที่เราเรียกใช้แบบ timestamp
parent_dir = r"C:\Users\fonfo\PycharmProjects\pythonProject13"
path = os.path.join(parent_dir, directory)
os.mkdir(path)

attach_fname = 'PDFFile.pdf'
attach_fname_jpj = attach_fname.replace(".pdf", ".jpeg")
jpeg_report_path = os.path.join(path, attach_fname_jpj)
fname_new = ' "' + jpeg_report_path + '"'
pdf_report_path = os.path.join(path, attach_fname)

#ส่วนของการแปลง base64 PDF เป็นไฟล์ PDF
with open(pdf_report_path, 'wb') as theFile:
     theFile.write(base64.b64decode(pdf_b64))

#ส่วนของการแปลงไฟล์ PDF เป็นภาพ
process = subprocess.Popen(r'Magick convert ' + pdf_report_path + fname_new,stdout=subprocess.PIPE, stderr=subprocess.PIPE)
out, err = process.communicate()
ผลการทำงาน
  • เมื่อสั่งรัน จะขึ้นข้อความ Input base64 PDF เพื่อให้เรา Input base64 ของ PDF
    เมื่อสั่งรันจะขึ้นให้เราใส่  Input base64 PDF.png
    เมื่อสั่งรันจะขึ้นให้เราใส่ Input base64 PDF.png (10.98 KiB) Viewed 407 times
  • เมื่อเราทำการใส่ base64 ของ PDF และกดเอ็นเตอร์ จะมีโฟร์เดอร์ใหม่เกิดขึ้น โดยภายในโฟร์เดอร์นั้นจะทำการเก็บไฟล์ PDF ที่แปลงจาก base64 และ ไฟล์ภาพที่แปลงจาก PDF
    โฟร์เดอร์ที่ถูกสร้างขึ้น และมีการเก็บไฟล์ที่ทำการแปลง.png
    โฟร์เดอร์ที่ถูกสร้างขึ้น และมีการเก็บไฟล์ที่ทำการแปลง.png (6.26 KiB) Viewed 407 times
จากการทำงาน จะเห็นได้ว่ามีการ สร้างโฟร์เดอร์ที่มีการใช้เวลา timestamp เข้ามาใช้ในการตั้งชื่อ ชื่อโฟร์เดอร์ที่ได้ในการสร้างแต่ละครั้งนั้นจึงจะไม่ซ้ำกัน และไฟล์ที่ถูกเก็บในโฟร์เดอร์จะมีชื่อไฟล์ตาม ที่กำหนดไว้ ซึ่งเราสามาระเขียนการทำงานต่อจากนี้ได้เช่นต้องการนับจำนวนไฟล์ที่ถูกสร้างขึ้น หรือต้องการแปลงไฟล์ภาพเป็นที่ได้เป็น base64 ด้วยวิธีการ encode และ decode หรืออื่นๆต่อไป
you're the only one treasure💎
  • Similar Topics
    ตอบกลับ
    แสดง
    โพสต์ล่าสุด

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

สมาชิกกำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และบุคลทั่วไป 82