Bapt120 commited on
Commit
1e8cd84
·
verified ·
1 Parent(s): 0aa1384

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +15 -7
app.py CHANGED
@@ -478,10 +478,10 @@ def process_input(file_input, model_name, temperature, page_num, enable_streamin
478
  yield error_msg, error_msg, page_info, image_to_process, gr.update()
479
 
480
 
481
- def update_slider(file_input):
482
- """Update page slider based on PDF page count."""
483
  if file_input is None:
484
- return gr.update(maximum=20, value=1)
485
 
486
  file_path = file_input if isinstance(file_input, str) else file_input.name
487
 
@@ -489,12 +489,20 @@ def update_slider(file_input):
489
  try:
490
  pdf = pdfium.PdfDocument(file_path)
491
  total_pages = len(pdf)
 
 
 
492
  pdf.close()
493
- return gr.update(maximum=total_pages, value=1)
494
  except:
495
- return gr.update(maximum=20, value=1)
496
  else:
497
- return gr.update(maximum=1, value=1)
 
 
 
 
 
498
 
499
 
500
  # Helper function to get model info text
@@ -630,7 +638,7 @@ State-of-the-art OCR on OlmOCR-Bench, ~9× smaller and faster than competitors.
630
  outputs=[output_text, raw_output, page_info, rendered_image, num_pages],
631
  )
632
 
633
- file_input.change(fn=update_slider, inputs=[file_input], outputs=[num_pages])
634
 
635
  model_selector.change(
636
  fn=get_model_info_text, inputs=[model_selector], outputs=[model_info]
 
478
  yield error_msg, error_msg, page_info, image_to_process, gr.update()
479
 
480
 
481
+ def update_slider_and_preview(file_input):
482
+ """Update page slider and preview image based on uploaded file."""
483
  if file_input is None:
484
+ return gr.update(maximum=20, value=1), None
485
 
486
  file_path = file_input if isinstance(file_input, str) else file_input.name
487
 
 
489
  try:
490
  pdf = pdfium.PdfDocument(file_path)
491
  total_pages = len(pdf)
492
+ # Render first page for preview
493
+ page = pdf[0]
494
+ preview_image = page.render(scale=2).to_pil()
495
  pdf.close()
496
+ return gr.update(maximum=total_pages, value=1), preview_image
497
  except:
498
+ return gr.update(maximum=20, value=1), None
499
  else:
500
+ # It's an image file
501
+ try:
502
+ preview_image = Image.open(file_path)
503
+ return gr.update(maximum=1, value=1), preview_image
504
+ except:
505
+ return gr.update(maximum=1, value=1), None
506
 
507
 
508
  # Helper function to get model info text
 
638
  outputs=[output_text, raw_output, page_info, rendered_image, num_pages],
639
  )
640
 
641
+ file_input.change(fn=update_slider_and_preview, inputs=[file_input], outputs=[num_pages, rendered_image])
642
 
643
  model_selector.change(
644
  fn=get_model_info_text, inputs=[model_selector], outputs=[model_info]