Docfile commited on
Commit
c1d9d4e
·
verified ·
1 Parent(s): c826e3d

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +16 -7
app.py CHANGED
@@ -3,18 +3,18 @@ from PIL import Image
3
  import io
4
 
5
  def images_to_pdf(uploaded_images):
6
- # Liste qui contiendra les objets Image
7
  image_list = []
8
  for uploaded_file in uploaded_images:
9
  image = Image.open(uploaded_file)
10
- # Convertir l'image en mode RGB si nécessaire (pour la conversion en PDF)
11
  if image.mode != "RGB":
12
  image = image.convert("RGB")
13
  image_list.append(image)
14
 
15
- # Créer un flux mémoire pour stocker le PDF
16
  pdf_buffer = io.BytesIO()
17
- # Sauvegarder la première image et ajouter les autres pages
18
  image_list[0].save(
19
  pdf_buffer, format="PDF", resolution=100.0, save_all=True, append_images=image_list[1:]
20
  )
@@ -23,12 +23,21 @@ def images_to_pdf(uploaded_images):
23
 
24
  def main():
25
  st.title("Conversion d'Images en PDF")
26
- st.write("Uploader plusieurs images pour les convertir en un seul fichier PDF.")
27
-
28
- # Permet de télécharger plusieurs fichiers (types: png, jpg, jpeg)
 
 
29
  uploaded_files = st.file_uploader("Choisissez vos images", type=["png", "jpg", "jpeg"], accept_multiple_files=True)
30
 
31
  if uploaded_files:
 
 
 
 
 
 
 
32
  if st.button("Convertir en PDF"):
33
  pdf_file = images_to_pdf(uploaded_files)
34
  st.download_button(
 
3
  import io
4
 
5
  def images_to_pdf(uploaded_images):
6
+ # Liste pour stocker les objets Image
7
  image_list = []
8
  for uploaded_file in uploaded_images:
9
  image = Image.open(uploaded_file)
10
+ # Conversion en RGB pour la compatibilité PDF
11
  if image.mode != "RGB":
12
  image = image.convert("RGB")
13
  image_list.append(image)
14
 
15
+ # Création d'un flux mémoire pour le PDF
16
  pdf_buffer = io.BytesIO()
17
+ # La première image sert de base et les autres sont ajoutées en tant que pages
18
  image_list[0].save(
19
  pdf_buffer, format="PDF", resolution=100.0, save_all=True, append_images=image_list[1:]
20
  )
 
23
 
24
  def main():
25
  st.title("Conversion d'Images en PDF")
26
+ st.write("Uploader plusieurs images pour les convertir en un seul fichier PDF.\n"
27
+ "Assurez-vous de nommer vos fichiers (ex. : 1_image.jpg, 2_image.jpg, etc.) "
28
+ "pour que l'ordre soit respecté.")
29
+
30
+ # Uploader multiple d'images
31
  uploaded_files = st.file_uploader("Choisissez vos images", type=["png", "jpg", "jpeg"], accept_multiple_files=True)
32
 
33
  if uploaded_files:
34
+ # Tri des fichiers par nom (à adapter si nécessaire)
35
+ uploaded_files = sorted(uploaded_files, key=lambda x: x.name)
36
+
37
+ st.write("Ordre des images sélectionnées :")
38
+ for f in uploaded_files:
39
+ st.write(f.name)
40
+
41
  if st.button("Convertir en PDF"):
42
  pdf_file = images_to_pdf(uploaded_files)
43
  st.download_button(