SathvikGanta commited on
Commit
82167bd
·
verified ·
1 Parent(s): 24b2220

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +15 -5
app.py CHANGED
@@ -9,8 +9,11 @@ from fpdf import FPDF
9
 
10
  # Convert PDFs to images
11
  def convert_pdf_to_images(pdf_path, dpi=300):
12
- images = convert_from_path(pdf_path, dpi=dpi)
13
- return [cv2.cvtColor(np.array(image), cv2.COLOR_RGB2BGR) for image in images]
 
 
 
14
 
15
  # Align images
16
  def align_images(img1, img2):
@@ -49,6 +52,9 @@ def generate_comparison_pdf(original_pdf, edited_pdf):
49
  original_images = convert_pdf_to_images(original_pdf)
50
  edited_images = convert_pdf_to_images(edited_pdf)
51
 
 
 
 
52
  combined_images = []
53
  for orig_img, edit_img in zip(original_images, edited_images):
54
  aligned_img = align_images(orig_img, edit_img)
@@ -69,9 +75,11 @@ def generate_comparison_pdf(original_pdf, edited_pdf):
69
 
70
  # Gradio interface function
71
  def pdf_comparison(original_pdf, edited_pdf):
72
- if not os.path.exists("outputs"):
73
- os.makedirs("outputs")
74
- result_path = generate_comparison_pdf(original_pdf.name, edited_pdf.name)
 
 
75
  return result_path
76
 
77
  # Gradio app
@@ -87,4 +95,6 @@ interface = gr.Interface(
87
  )
88
 
89
  if __name__ == "__main__":
 
 
90
  interface.launch()
 
9
 
10
  # Convert PDFs to images
11
  def convert_pdf_to_images(pdf_path, dpi=300):
12
+ try:
13
+ images = convert_from_path(pdf_path, dpi=dpi, poppler_path="/usr/bin")
14
+ return [cv2.cvtColor(np.array(image), cv2.COLOR_RGB2BGR) for image in images]
15
+ except Exception as e:
16
+ return f"Error converting PDF to images: {e}"
17
 
18
  # Align images
19
  def align_images(img1, img2):
 
52
  original_images = convert_pdf_to_images(original_pdf)
53
  edited_images = convert_pdf_to_images(edited_pdf)
54
 
55
+ if isinstance(original_images, str) or isinstance(edited_images, str):
56
+ return original_images if isinstance(original_images, str) else edited_images
57
+
58
  combined_images = []
59
  for orig_img, edit_img in zip(original_images, edited_images):
60
  aligned_img = align_images(orig_img, edit_img)
 
75
 
76
  # Gradio interface function
77
  def pdf_comparison(original_pdf, edited_pdf):
78
+ if original_pdf is None or edited_pdf is None:
79
+ return "Error: Both PDF files must be provided."
80
+ original_pdf_path = original_pdf.name
81
+ edited_pdf_path = edited_pdf.name
82
+ result_path = generate_comparison_pdf(original_pdf_path, edited_pdf_path)
83
  return result_path
84
 
85
  # Gradio app
 
95
  )
96
 
97
  if __name__ == "__main__":
98
+ if not os.path.exists("outputs"):
99
+ os.makedirs("outputs")
100
  interface.launch()