Ich möchte eine PDF-Datei mit detaillierten Bilddateien (JPG oder JPEG oder JPG) zusammenstellen, die vom Scanner usw. importiert wurden. Details werden nach Verzeichnissen unterteilt und jede Unterteilung wird in einer PDF-Datei zusammengefasst. Im Verzeichnis sind sie nach Datum sortiert
ls ~/scan/meisai/
Autoversicherungsauszug
Autoversicherungsauszug/2017/
Autoversicherungsauszug/2018/
Autoversicherungsauszug/2019/
Autoversicherungsauszug/2020/
Kreditkarte A./2017/
Kreditkarte A./2018/
Kreditkarte A./2019/
Kreditkarte A./2020/
Medizinisches Statement 2020_01_20.jpg
.DS_store
In einer solchen Verzeichnisstruktur befinden sich mehrere Bilddateien. Fassen Sie es wie folgt zusammen
ls ~/scan/meisai_pdf/
Autoversicherungsauszug.pdf
Kreditkarte A..pdf
.DS_store
Löschen Sie die verwendete Bilddatei manuell.
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):
#Folgen Sie dem Verzeichnis rekursiv
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) #Wenn Sie in ein Verzeichnis wechseln und mit einem relativen Pfad verarbeiten möchten.
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