Je souhaite créer un fichier PDF de fichiers image détaillés (jpg ou JPEG ou JPG) importés par un scanner, etc. Les détails sont divisés par répertoire et chaque division est regroupée dans un fichier PDF. Dans l'annuaire, ils sont organisés par date
ls ~/scan/meisai/
Déclaration d'assurance automobile
Déclaration d'assurance automobile/2017/
Déclaration d'assurance automobile/2018/
Déclaration d'assurance automobile/2019/
Déclaration d'assurance automobile/2020/
Carte de crédit A/2017/
Carte de crédit A/2018/
Carte de crédit A/2019/
Carte de crédit A/2020/
Déclaration médicale 2020_01_20.jpg
.DS_store
Il existe plusieurs fichiers image dans une telle structure de répertoires. Résumez-le comme suit
ls ~/scan/meisai_pdf/
Déclaration d'assurance automobile.pdf
Carte de crédit A.pdf
.DS_store
Supprimez manuellement le fichier image utilisé.
python3 import os import img2pdf
import os
import img2pdf
EXP_DIR = "/Users/myname/scan/meisai"
OUT_DIR = "/Users/myname/scan/meisai_pdf"
def extract_image_file_list(folder_path):
ret = []
if os.path.isdir(folder_path) == False:
return ret
for t in sorted(os.listdir(path=folder_path)):
if os.path.isdir(folder_path + "/" + t):
#Suivez le répertoire de manière récursive
ret += extract_image_file_list(folder_path + "/" + t)
else:
ret.append(folder_path + "/" + t)
return ret
def image_to_pdf(pdf_name,image_list):
convert_target = []
for i in image_list:
if i.endswith(".jpg ") or i.endswith(".JPG") or i.endswith(".jpeg "):
convert_target.append(i)
if len(convert_target) == 0:
return
with open(pdf_name + ".pdf", "wb") as f:
f.write(img2pdf.convert(convert_target))
#os.chdir(EXP_DIR) #Si vous souhaitez vous déplacer vers un répertoire et traiter avec un chemin relatif.
for path in os.listdir(path=EXP_DIR):
print(path)
files = extract_image_file_list(EXP_DIR + "/" + path)
image_to_pdf(OUT_DIR + "/" + path,files)
Recommended Posts