awacke1 commited on
Commit
99a39fb
·
verified ·
1 Parent(s): 72f9332

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +21 -4
app.py CHANGED
@@ -142,7 +142,6 @@ def apply_emoji_font(text, emoji_font):
142
  def markdown_to_pdf_content(markdown_text, render_with_bold, auto_bold_numbers, add_space_before_numbered, headings_to_fonts):
143
  lines = markdown_text.strip().split('\n')
144
  pdf_content = []
145
- # Updated pattern to match both top-level (e.g., 4.) and sub-level (e.g., 4.1, 4.2) numbers
146
  number_pattern = re.compile(r'^\d+(\.\d+)*\.\s')
147
  heading_pattern = re.compile(r'^(#{1,4})\s+(.+)$')
148
  first_numbered_seen = False
@@ -185,11 +184,19 @@ def markdown_to_pdf_content(markdown_text, render_with_bold, auto_bold_numbers,
185
  total_lines = len(pdf_content)
186
  return pdf_content, total_lines
187
 
188
- def create_pdf(markdown_text, base_font_size, render_with_bold, auto_bold_numbers, enlarge_numbered, num_columns, add_space_before_numbered, headings_to_fonts):
189
  buffer = io.BytesIO()
190
  page_width = A4[0] * 2
191
  page_height = A4[1]
192
- doc = SimpleDocTemplate(buffer, pagesize=(page_width, page_height), leftMargin=36, rightMargin=36, topMargin=36, bottomMargin=36)
 
 
 
 
 
 
 
 
193
  styles = getSampleStyleSheet()
194
  spacer_height = 10
195
  pdf_content, total_lines = markdown_to_pdf_content(markdown_text, render_with_bold, auto_bold_numbers, add_space_before_numbered, headings_to_fonts)
@@ -592,7 +599,17 @@ with st.sidebar:
592
  )
593
 
594
  with st.spinner("Generating PDF..."):
595
- pdf_bytes = create_pdf(st.session_state.markdown_content, base_font_size, render_with_bold, auto_bold_numbers, enlarge_numbered, num_columns, add_space_before_numbered, headings_to_fonts)
 
 
 
 
 
 
 
 
 
 
596
 
597
  with st.container():
598
  pdf_images = pdf_to_image(pdf_bytes)
 
142
  def markdown_to_pdf_content(markdown_text, render_with_bold, auto_bold_numbers, add_space_before_numbered, headings_to_fonts):
143
  lines = markdown_text.strip().split('\n')
144
  pdf_content = []
 
145
  number_pattern = re.compile(r'^\d+(\.\d+)*\.\s')
146
  heading_pattern = re.compile(r'^(#{1,4})\s+(.+)$')
147
  first_numbered_seen = False
 
184
  total_lines = len(pdf_content)
185
  return pdf_content, total_lines
186
 
187
+ def create_pdf(markdown_text, base_font_size, render_with_bold, auto_bold_numbers, enlarge_numbered, num_columns, add_space_before_numbered, headings_to_fonts, doc_title):
188
  buffer = io.BytesIO()
189
  page_width = A4[0] * 2
190
  page_height = A4[1]
191
+ doc = SimpleDocTemplate(
192
+ buffer,
193
+ pagesize=(page_width, page_height),
194
+ leftMargin=36,
195
+ rightMargin=36,
196
+ topMargin=36,
197
+ bottomMargin=36,
198
+ title=doc_title # Set the document title in metadata
199
+ )
200
  styles = getSampleStyleSheet()
201
  spacer_height = 10
202
  pdf_content, total_lines = markdown_to_pdf_content(markdown_text, render_with_bold, auto_bold_numbers, add_space_before_numbered, headings_to_fonts)
 
599
  )
600
 
601
  with st.spinner("Generating PDF..."):
602
+ pdf_bytes = create_pdf(
603
+ st.session_state.markdown_content,
604
+ base_font_size,
605
+ render_with_bold,
606
+ auto_bold_numbers,
607
+ enlarge_numbered,
608
+ num_columns,
609
+ add_space_before_numbered,
610
+ headings_to_fonts,
611
+ doc_title=selected_md if selected_md else "Untitled"
612
+ )
613
 
614
  with st.container():
615
  pdf_images = pdf_to_image(pdf_bytes)