awacke1 commited on
Commit
9e696a0
Β·
verified Β·
1 Parent(s): 15c9d3d

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +2 -66
app.py CHANGED
@@ -3,41 +3,22 @@ import cv2
3
  from PIL import Image
4
  import numpy as np
5
  from imutils.video import VideoStream
6
- import pypdf
7
  import pikepdf
8
- import pdfminer.high_level
9
  import fpdf
10
- import pdfkit
11
- import pdfplumber
12
  import fitz # pymupdf
13
- import borb.pdf
14
- import pdf2image
15
  import vidgear.gears
16
- import av
17
 
18
  # 🌟πŸ”₯ Set up the Streamlit UI with an impressive demo style!
19
  st.title("πŸš€ Impressive Library Demo Extravaganza")
20
  st.write("Watch these libraries flex their muscles with live demos producing real outputs!")
21
 
22
  # πŸ“œ Demo Functions
23
- def demo_pypdf():
24
- with open("demo.pdf", "wb") as f:
25
- f.write(b"Hello from pypdf!")
26
- reader = pypdf.PdfReader("demo.pdf")
27
- return reader.pages[0].extract_text() if reader.pages else "No text found!"
28
-
29
  def demo_pikepdf():
30
  pdf = pikepdf.Pdf.new()
31
  pdf.pages.append(pikepdf.Page(pikepdf.Dictionary()))
32
  pdf.save("demo_pikepdf.pdf")
33
  return "demo_pikepdf.pdf"
34
 
35
- def demo_pdfminer():
36
- with open("demo.pdf", "wb") as f:
37
- f.write(b"PDFminer magic!")
38
- text = pdfminer.high_level.extract_text("demo.pdf")
39
- return text
40
-
41
  def demo_fpdf():
42
  pdf = fpdf.FPDF()
43
  pdf.add_page()
@@ -46,16 +27,6 @@ def demo_fpdf():
46
  pdf.output("demo_fpdf.pdf")
47
  return "demo_fpdf.pdf"
48
 
49
- def demo_pdfkit():
50
- pdfkit.from_string("<h1>Hello PDFkit!</h1>", "demo_pdfkit.pdf")
51
- return "demo_pdfkit.pdf"
52
-
53
- def demo_pdfplumber():
54
- with open("demo.pdf", "wb") as f:
55
- f.write(b"Plumb this text!")
56
- with pdfplumber.open("demo.pdf") as pdf:
57
- return pdf.pages[0].extract_text() if pdf.pages else "No text!"
58
-
59
  def demo_pymupdf():
60
  doc = fitz.open()
61
  page = doc.new_page()
@@ -63,20 +34,6 @@ def demo_pymupdf():
63
  doc.save("demo_pymupdf.pdf")
64
  return "demo_pymupdf.pdf"
65
 
66
- def demo_borb():
67
- doc = borb.pdf.Document()
68
- page = borb.pdf.Page()
69
- doc.append_page(page)
70
- doc.save("demo_borb.pdf")
71
- return "demo_borb.pdf"
72
-
73
- def demo_pdf2image():
74
- with open("demo.pdf", "wb") as f:
75
- f.write(b"Image this!")
76
- images = pdf2image.convert_from_path("demo.pdf")
77
- images[0].save("demo_pdf2image.jpg")
78
- return "demo_pdf2image.jpg"
79
-
80
  def demo_opencv_image():
81
  cap = cv2.VideoCapture(0)
82
  ret, frame = cap.read()
@@ -112,40 +69,19 @@ demo_type = st.sidebar.selectbox("Choose a Demo Category", ["PDF", "Image Captur
112
  # πŸ“œ PDF Demos
113
  if demo_type == "PDF":
114
  st.subheader("πŸ“œ PDF Powerhouse")
115
- demo = st.selectbox("Pick a PDF Demo", [
116
- "pypdf", "pikepdf", "pdfminer.six", "fpdf2", "pdfkit",
117
- "pdfplumber", "pymupdf", "borb", "pdf2image"
118
- ])
119
  if st.button("Run PDF Demo"):
120
  with st.spinner("Running demo..."):
121
  try:
122
- if demo == "pypdf":
123
- result = demo_pypdf()
124
- st.write("Extracted Text:", result)
125
- elif demo == "pikepdf":
126
  result = demo_pikepdf()
127
  st.download_button("Download PDF", open(result, "rb").read(), file_name=result)
128
- elif demo == "pdfminer.six":
129
- result = demo_pdfminer()
130
- st.write("Extracted Text:", result)
131
  elif demo == "fpdf2":
132
  result = demo_fpdf()
133
  st.download_button("Download PDF", open(result, "rb").read(), file_name=result)
134
- elif demo == "pdfkit":
135
- result = demo_pdfkit()
136
- st.download_button("Download PDF", open(result, "rb").read(), file_name=result)
137
- elif demo == "pdfplumber":
138
- result = demo_pdfplumber()
139
- st.write("Extracted Text:", result)
140
  elif demo == "pymupdf":
141
  result = demo_pymupdf()
142
  st.download_button("Download PDF", open(result, "rb").read(), file_name=result)
143
- elif demo == "borb":
144
- result = demo_borb()
145
- st.download_button("Download PDF", open(result, "rb").read(), file_name=result)
146
- elif demo == "pdf2image":
147
- result = demo_pdf2image()
148
- st.image(result, caption="Converted PDF to Image")
149
  except Exception as e:
150
  st.error(f"Demo failed: {str(e)}")
151
 
 
3
  from PIL import Image
4
  import numpy as np
5
  from imutils.video import VideoStream
 
6
  import pikepdf
 
7
  import fpdf
 
 
8
  import fitz # pymupdf
 
 
9
  import vidgear.gears
 
10
 
11
  # 🌟πŸ”₯ Set up the Streamlit UI with an impressive demo style!
12
  st.title("πŸš€ Impressive Library Demo Extravaganza")
13
  st.write("Watch these libraries flex their muscles with live demos producing real outputs!")
14
 
15
  # πŸ“œ Demo Functions
 
 
 
 
 
 
16
  def demo_pikepdf():
17
  pdf = pikepdf.Pdf.new()
18
  pdf.pages.append(pikepdf.Page(pikepdf.Dictionary()))
19
  pdf.save("demo_pikepdf.pdf")
20
  return "demo_pikepdf.pdf"
21
 
 
 
 
 
 
 
22
  def demo_fpdf():
23
  pdf = fpdf.FPDF()
24
  pdf.add_page()
 
27
  pdf.output("demo_fpdf.pdf")
28
  return "demo_fpdf.pdf"
29
 
 
 
 
 
 
 
 
 
 
 
30
  def demo_pymupdf():
31
  doc = fitz.open()
32
  page = doc.new_page()
 
34
  doc.save("demo_pymupdf.pdf")
35
  return "demo_pymupdf.pdf"
36
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
37
  def demo_opencv_image():
38
  cap = cv2.VideoCapture(0)
39
  ret, frame = cap.read()
 
69
  # πŸ“œ PDF Demos
70
  if demo_type == "PDF":
71
  st.subheader("πŸ“œ PDF Powerhouse")
72
+ demo = st.selectbox("Pick a PDF Demo", ["pikepdf", "fpdf2", "pymupdf"])
 
 
 
73
  if st.button("Run PDF Demo"):
74
  with st.spinner("Running demo..."):
75
  try:
76
+ if demo == "pikepdf":
 
 
 
77
  result = demo_pikepdf()
78
  st.download_button("Download PDF", open(result, "rb").read(), file_name=result)
 
 
 
79
  elif demo == "fpdf2":
80
  result = demo_fpdf()
81
  st.download_button("Download PDF", open(result, "rb").read(), file_name=result)
 
 
 
 
 
 
82
  elif demo == "pymupdf":
83
  result = demo_pymupdf()
84
  st.download_button("Download PDF", open(result, "rb").read(), file_name=result)
 
 
 
 
 
 
85
  except Exception as e:
86
  st.error(f"Demo failed: {str(e)}")
87