Spaces:
Sleeping
Sleeping
DrishtiSharma
commited on
Update app.py
Browse files
app.py
CHANGED
@@ -204,14 +204,28 @@ def download_pdf(patent_number):
|
|
204 |
st.error(f"Failed to download patent PDF: {e}")
|
205 |
st.stop()
|
206 |
|
207 |
-
def preview_pdf(pdf_path):
|
208 |
-
"""
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
209 |
try:
|
210 |
doc = fitz.open(pdf_path) # Open PDF
|
211 |
-
first_page = doc[0] #
|
212 |
-
pix = first_page.get_pixmap() # Render page to
|
213 |
-
|
214 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
215 |
return temp_image_path
|
216 |
except Exception as e:
|
217 |
st.error(f"Error generating PDF preview: {e}")
|
@@ -268,10 +282,10 @@ if __name__ == "__main__":
|
|
268 |
# Generate PDF preview only if not already displayed
|
269 |
if not st.session_state.get("pdf_preview_displayed", False):
|
270 |
st.write("🖼️ Generating PDF preview...")
|
271 |
-
preview_image_path = preview_pdf(pdf_path)
|
272 |
if preview_image_path:
|
273 |
st.session_state.pdf_preview = preview_image_path
|
274 |
-
st.image(preview_image_path, caption="First Page Preview",
|
275 |
st.session_state["pdf_preview_displayed"] = True
|
276 |
else:
|
277 |
st.warning("Failed to generate PDF preview.")
|
|
|
204 |
st.error(f"Failed to download patent PDF: {e}")
|
205 |
st.stop()
|
206 |
|
207 |
+
def preview_pdf(pdf_path, scale_factor=0.5):
|
208 |
+
"""
|
209 |
+
Generate and resize the first page of the PDF for a compact preview.
|
210 |
+
Args:
|
211 |
+
pdf_path (str): Path to the PDF file.
|
212 |
+
scale_factor (float): Factor to reduce the image size (default is 0.5).
|
213 |
+
Returns:
|
214 |
+
str: Path to the resized image preview.
|
215 |
+
"""
|
216 |
try:
|
217 |
doc = fitz.open(pdf_path) # Open PDF
|
218 |
+
first_page = doc[0] # Get the first page
|
219 |
+
pix = first_page.get_pixmap() # Render page to Pixmap (image)
|
220 |
+
|
221 |
+
# Resize image using scale factor
|
222 |
+
new_width = int(pix.width * scale_factor)
|
223 |
+
new_height = int(pix.height * scale_factor)
|
224 |
+
resized_pix = fitz.Pixmap(pix, new_width, new_height)
|
225 |
+
|
226 |
+
# Save resized image temporarily
|
227 |
+
temp_image_path = os.path.join(tempfile.gettempdir(), "pdf_preview_resized.png")
|
228 |
+
resized_pix.save(temp_image_path)
|
229 |
return temp_image_path
|
230 |
except Exception as e:
|
231 |
st.error(f"Error generating PDF preview: {e}")
|
|
|
282 |
# Generate PDF preview only if not already displayed
|
283 |
if not st.session_state.get("pdf_preview_displayed", False):
|
284 |
st.write("🖼️ Generating PDF preview...")
|
285 |
+
preview_image_path = preview_pdf(pdf_path, scale_factor=0.5) # Added scale_factor
|
286 |
if preview_image_path:
|
287 |
st.session_state.pdf_preview = preview_image_path
|
288 |
+
st.image(preview_image_path, caption="First Page Preview", use_column_width=False)
|
289 |
st.session_state["pdf_preview_displayed"] = True
|
290 |
else:
|
291 |
st.warning("Failed to generate PDF preview.")
|