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

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +42 -0
app.py ADDED
@@ -0,0 +1,42 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import streamlit as st
2
+ 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
+ )
21
+ pdf_buffer.seek(0)
22
+ return pdf_buffer
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(
35
+ label="Télécharger le PDF",
36
+ data=pdf_file,
37
+ file_name="images_converties.pdf",
38
+ mime="application/pdf"
39
+ )
40
+
41
+ if __name__ == "__main__":
42
+ main()