คือว่า โปรแกรมpdf24เมื่อกี้มันพัง… พอinput pdfหลายๆไฟล์พร้อมกัน มันบอกว่าหา imageที่extractแล้วเก็บไว้ใน tmp folder ไม่เจอ .. ซึ่งปิดโปรแกรมเปิดใหม่ก็ไม่หาย เหมือนจะต้องรีเซ็ตคอม…
ก็เลย ถาม chatpgtให้มันเขียนโค๊ดให้หน่อย + แก้เองเยอะอยู่
ได้ความว่า
import fitz # pip install PyMuPDF
import os
import shutil
from pathlib import Path
def extract_images_from_pdf(pdf_path, save_folder):
doc = fitz.open(pdf_path)
print(pdf_path)
save_prefix = "_".join(element[:10] for element in pdf_path.split("\\"))
#save_prefix = pdf_path.replace("\\", "-")[0:20]
print(save_prefix)
img_index =0
for page_number in range(doc.page_count):
page = doc[page_number]
images = page.get_images(full=True)
#print("found images "+len(images))
for img_info in images:
img_index += 1
image_index = img_info[0]
#print(img_index,image_index)
base_image = doc.extract_image(image_index)
image_bytes = base_image["image"]
image_filename = f"{save_folder}/{save_prefix}_{img_index}.jpg"
with open(image_filename, "wb") as image_file:
image_file.write(image_bytes)
print("extracted images = "+str(img_index)+"\n")
doc.close()
def extract_images_from_pdfs(pdf_folder, save_folder):
files = [f for f in os.listdir(pdf_folder) if os.path.isfile(os.path.join(pdf_folder, f))]
for file in files:
#print(file)
if file.lower().endswith(('.pdf')):
filepath = os.path.join(pdf_folder, file)
extract_images_from_pdf(filepath, save_folder)
print("Done!")
extract_images_from_pdfs('Session 5 - Interfaces for the Body and Beyond','extracted_images')
คือใส่ชื่อ folder เป็น input แล้วอ่าน pdf ในโฟล์เดอร์นั้น extract image
ซึงอันนี้ ถ้ารูปต้นฉบับเป็น transparent มา มันจะใส่ background สีดำให้ ต่างกับตัวโปรแกรมpdf24 ที่เซฟเป็นสีขาวให้ ดูคลีนตากว่า
![](http://mionzwp.bumbleplay.com/wp-content/uploads/2024/01/image-3.png)
ละก็contrastสีเพี้ยนน ไม่รู้ว่ารูปต้นฉบับเป็นไฟล์อะไร
![](http://mionzwp.bumbleplay.com/wp-content/uploads/2024/01/Adjunct_A-Dynamic-_1-1024x388.jpg)
folder ismar นี่ล่มมาก ทั้งสีเพี้ยน ภาพมาเป็นเศษๆ ไม่รู้เป็นไร
![](http://mionzwp.bumbleplay.com/wp-content/uploads/2024/01/image-4.png)
กับอีกอย่างที่ยังทำไม่ได้คือ ถ้ารูปต้นฉบับ embed เป็น pdf มา (มักจะเป็นพวกกราฟที่อยากได้ …) ทั้งโปรแกรมpdf24 ทั้ง python lib ตัวนี้ยัง extract ออกมาให้ไม่ได้