plozia commited on
Commit
503f064
·
verified ·
1 Parent(s): 686b015

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +9 -4
app.py CHANGED
@@ -4,7 +4,11 @@ from typing import List
4
  import gradio as gr
5
  from PyPDF2 import PdfReader, PdfWriter
6
 
7
- MAX_SIZE_BYTES = 500 * 1024 * 1024 # 500 MB
 
 
 
 
8
 
9
  def parse_page_ranges(ranges: str, num_pages: int) -> List[int]:
10
  """
@@ -29,7 +33,7 @@ def split_pdf(file, page_ranges: str):
29
  # Validate file size
30
  file_size = os.path.getsize(file.name)
31
  if file_size > MAX_SIZE_BYTES:
32
- return None, f"File size exceeds 500 MB limit ({file_size / (1024*1024):.2f} MB)."
33
 
34
  reader = PdfReader(file.name)
35
  num_pages = len(reader.pages)
@@ -59,7 +63,8 @@ with gr.Blocks(css="""
59
  """) as demo:
60
  # Header
61
  gr.HTML("<h1 id='header'>📄 PDF Splitter</h1>")
62
- gr.Markdown("Upload a PDF (up to 500 MB) and extract specific pages using ranges like `1-3,5,7-9`.")
 
63
 
64
  with gr.Row(elem_classes="input-row"):
65
  pdf_input = gr.File(label="Select PDF file", file_types=['.pdf'])
@@ -88,4 +93,4 @@ with gr.Blocks(css="""
88
  error_text.change(lambda msg: msg != "", inputs=error_text, outputs=error_text)
89
 
90
  if __name__ == "__main__":
91
- demo.launch(server_name="0.0.0.0", server_port=int(os.environ.get("PORT", 7860)))
 
4
  import gradio as gr
5
  from PyPDF2 import PdfReader, PdfWriter
6
 
7
+ # Maximum upload size
8
+ MAX_SIZE_BYTES = 1 * 1024 * 1024 * 1024 # 1 GB
9
+
10
+ # Note: Uploaded PDFs are processed in-memory and not stored on the server.
11
+ # This is a free and quick solution for splitting PDFs without any external storage.
12
 
13
  def parse_page_ranges(ranges: str, num_pages: int) -> List[int]:
14
  """
 
33
  # Validate file size
34
  file_size = os.path.getsize(file.name)
35
  if file_size > MAX_SIZE_BYTES:
36
+ return None, f"File size exceeds 1 GB limit ({file_size / (1024*1024*1024):.2f} GB)."
37
 
38
  reader = PdfReader(file.name)
39
  num_pages = len(reader.pages)
 
63
  """) as demo:
64
  # Header
65
  gr.HTML("<h1 id='header'>📄 PDF Splitter</h1>")
66
+ gr.Markdown("**Free & Quick Solution**: Uploaded PDFs are processed but not stored. Ideal for lazy splitting without installing anything.")
67
+ gr.Markdown("Upload a PDF (up to 1 GB) and extract specific pages using ranges like `1-3,5,7-9`.")
68
 
69
  with gr.Row(elem_classes="input-row"):
70
  pdf_input = gr.File(label="Select PDF file", file_types=['.pdf'])
 
93
  error_text.change(lambda msg: msg != "", inputs=error_text, outputs=error_text)
94
 
95
  if __name__ == "__main__":
96
+ demo.launch(server_name="0.0.0.0", server_port=int(os.environ.get("PORT", 7860)))