Aşağıdaki kodlarla resmi pdf’e çevirebiliyoruz.
Ama dosyaya konumlarını tek tek girmemiz gerekiyor.
Yapmak istediğim bir klasorün içindeki resim dosyalarını tek tek gitmek yerine otomatik olarak alan bir program yazmak istiyorum yardımcı olabilir misiniz?
from PIL import Image
image1 = Image.open(r'C:\Users\0xE14\Desktop\ss\1.png')
image2 = Image.open(r'C:\Users\0xE14\Desktop\ss\2.png')
image3 = Image.open(r'C:\Users\0xE14\Desktop\ss\3.png')
image4 = Image.open(r'C:\Users\0xE14\Desktop\ss\4.png')
im1 = image1.convert('RGB')
im2 = image2.convert('RGB')
im3 = image3.convert('RGB')
im4 = image4.convert('RGB')
imagelist = [im2,im3,im4]
im1.save(r'C:\Users\0xE14\Desktop\ss\pdfAdı.pdf',save_all=True, append_images=imagelist)
Bu kısımdan ihtiyacınız doğrultusundaki tüm dosya klasör işlemleri için gerekli bilgileri alabilirsiniz.
Böylece bitti…
# -*- coding: utf-8 -*-
"""
Created on Fri Jul 3 15:46:47 2020
@author: 0xE14
"""
# Programı resimlerin oldugu mevcut diziye atın ve sonra çalıştırın.
# Not : 'pip install Pillow' şeklinde modülü kurmanız lazım.
import os
from PIL import Image
mevcut_dizin = os.getcwd()
liste1 = os.listdir(mevcut_dizin)
liste2 = []
liste3 = []
for i in range(len(liste1)):
if liste1[i].endswith('png'):
liste2.append(Image.open(mevcut_dizin + "\\" + liste1[i]))
print(liste1)
for k in range(len(liste2)):
liste3.append(liste2[k].convert('RGB'))
liste3[0].save(mevcut_dizin + "\\" + "pdfAdı.pdf", save_all=True, append_images=liste3[1::])
1 Beğeni
kullandım güzel ama resim dosyasının uzantısı her zaman png olmayabilir. ona da bir çözüm bulmak lazım.
1 Beğeni
For döngüsü ile kullanılabilir uzantılar il işlem yapılabilir
Mesela
for i in range(len(liste1)):
if liste1[i].endswith('png'):
extensions = ("png","jpeg")
for i in range(len(liste1)):
if any([liste1[i].endswith(x) for x in extensions]):
Diye degistirilebilir
Kod : dosyanın uzantısının en az bir “extensions”
Listesindeki uzantiyla bitip bitmediğini kontrol ediyor
2 Beğeni
o zaman şöyle yapalım…
# -*- coding: utf-8 -*-
"""
Created on Fri Jul 3 15:46:47 2020
@author: 0xE14
"""
# Programı resimlerin oldugu mevcut diziye atın ve sonra çalıştırın.
# Not : 'pip install Pillow' şeklinde modülü kurmanız lazım.
import os
from PIL import Image
mevcut_dizin = os.getcwd()
liste1 = os.listdir(mevcut_dizin)
liste2 = []
liste3 = []
extensions = ("png", "bmp", "gif", "png", "tifjpg", "jp2", "j2k", "jpeg")
for i in range(len(liste1)):
if any([liste1[i].endswith(x) for x in extensions]):
liste2.append(Image.open(mevcut_dizin + "\\" + liste1[i]))
print(liste1)
for k in range(len(liste2)):
liste3.append(liste2[k].convert('RGB'))
liste3[0].save(mevcut_dizin + "\\" + "pdfAdı.pdf", save_all=True, append_images=liste3[1::])
1 Beğeni
aslında daha kodun iyileştirilmesi için isimlendirmeler düzeltilebilir mesela x veya i veya liste1,liste2,list3 bunlar okuyanlara bir anlam ifade etmiyor
örnek veriyom i yerine indx x yerine de ext gelebilir
veya listeler yerine ne işte kullandıysan mesela
liste1 yerine all_files olabilir
1 Beğeni