cecilemacaire commited on
Commit
29235ac
·
verified ·
1 Parent(s): 5261ff0

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +30 -10
app.py CHANGED
@@ -39,6 +39,11 @@ def get_id_picto_from_predicted_lemma(df_lexicon, lemma):
39
  def generate_html(ids):
40
  html_content = '<html><head><style>'
41
  html_content += '''
 
 
 
 
 
42
  figure {
43
  display: inline-block;
44
  text-align: center;
@@ -72,18 +77,35 @@ def generate_html(ids):
72
 
73
 
74
  def generate_pdf(ids):
75
- pdf = FPDF()
76
  pdf.add_page()
77
  pdf.set_auto_page_break(auto=True, margin=15)
78
 
 
 
 
 
 
 
 
 
 
 
79
  for picto_id, lemma in ids:
80
  if picto_id != 0: # ignore invalid IDs
81
  img_url = f"https://static.arasaac.org/pictograms/{picto_id}/{picto_id}_500.png"
82
- pdf.image(img_url, x=None, y=None, w=50, h=50)
83
- pdf.ln(55)
84
  pdf.set_font("Arial", size=12)
85
- pdf.cell(200, 10, txt=lemma, ln=True, align='C')
86
-
 
 
 
 
 
 
 
87
  pdf_path = "pictograms.pdf"
88
  pdf.output(pdf_path)
89
  return pdf_path
@@ -104,8 +126,6 @@ if sentence:
104
  st.components.v1.html(html, height=800, scrolling=True)
105
 
106
  # Container to hold the download button
107
- download_container = st.container()
108
- with download_container:
109
- pdf_path = generate_pdf(pictogram_ids)
110
- with open(pdf_path, "rb") as pdf_file:
111
- st.download_button(label="Télécharger la traduction en PDF", data=pdf_file, file_name="pictograms.pdf", mime="application/pdf")
 
39
  def generate_html(ids):
40
  html_content = '<html><head><style>'
41
  html_content += '''
42
+ body {
43
+ display: flex;
44
+ flex-wrap: wrap;
45
+ justify-content: center;
46
+ }
47
  figure {
48
  display: inline-block;
49
  text-align: center;
 
77
 
78
 
79
  def generate_pdf(ids):
80
+ pdf = FPDF(orientation='L', unit='mm', format='A4') # 'L' for landscape orientation
81
  pdf.add_page()
82
  pdf.set_auto_page_break(auto=True, margin=15)
83
 
84
+ # Start positions
85
+ x_start = 10
86
+ y_start = 10
87
+ img_width = 50
88
+ img_height = 50
89
+ spacing = 10
90
+ max_width = 297 # A4 landscape width in mm
91
+ current_x = x_start
92
+ current_y = y_start
93
+
94
  for picto_id, lemma in ids:
95
  if picto_id != 0: # ignore invalid IDs
96
  img_url = f"https://static.arasaac.org/pictograms/{picto_id}/{picto_id}_500.png"
97
+ pdf.image(img_url, x=current_x, y=current_y, w=img_width, h=img_height)
98
+ pdf.set_xy(current_x, current_y + img_height + 5)
99
  pdf.set_font("Arial", size=12)
100
+ pdf.cell(img_width, 10, txt=lemma, ln=1, align='C')
101
+
102
+ current_x += img_width + spacing
103
+
104
+ # Move to the next line if exceeds max width
105
+ if current_x + img_width > max_width:
106
+ current_x = x_start
107
+ current_y += img_height + spacing + 10 # Adjust for image height and some spacing
108
+
109
  pdf_path = "pictograms.pdf"
110
  pdf.output(pdf_path)
111
  return pdf_path
 
126
  st.components.v1.html(html, height=800, scrolling=True)
127
 
128
  # Container to hold the download button
129
+ pdf_path = generate_pdf(pictogram_ids)
130
+ with open(pdf_path, "rb") as pdf_file:
131
+ st.download_button(label="Télécharger la traduction en PDF", data=pdf_file, file_name="pictograms.pdf", mime="application/pdf")