bluenevus commited on
Commit
679df68
·
verified ·
1 Parent(s): 52f175a

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +7 -12
app.py CHANGED
@@ -5,7 +5,7 @@ import io
5
  import tempfile
6
  import os
7
 
8
- def compress_pdf(input_file, url, strength):
9
  if input_file is None and (url is None or url.strip() == ""):
10
  return None, "Please provide either a file or a URL."
11
 
@@ -35,12 +35,8 @@ def compress_pdf(input_file, url, strength):
35
 
36
  pdf = pikepdf.Pdf.open(pdf_content)
37
 
38
- if strength == "Low":
39
- compression_params = dict(compress_streams=True, object_stream_mode=pikepdf.ObjectStreamMode.disable)
40
- elif strength == "Medium":
41
- compression_params = dict(compress_streams=True, object_stream_mode=pikepdf.ObjectStreamMode.preserve)
42
- else: # High
43
- compression_params = dict(compress_streams=True, object_stream_mode=pikepdf.ObjectStreamMode.generate)
44
 
45
  pdf.save(temp_file_path, **compression_params)
46
 
@@ -57,9 +53,9 @@ def compress_pdf(input_file, url, strength):
57
  return temp_file_path, f"PDF compressed successfully! Compression achieved: {compression_percentage:.2f}%"
58
  except Exception as e:
59
  return None, f"Error compressing PDF: {str(e)}"
60
-
61
- def process_and_compress(input_file, url, strength):
62
- output_file, message = compress_pdf(input_file, url, strength)
63
  if output_file:
64
  return output_file, message
65
  else:
@@ -70,14 +66,13 @@ with gr.Blocks() as demo:
70
  with gr.Row():
71
  input_file = gr.File(label="Upload PDF")
72
  url_input = gr.Textbox(label="Or enter PDF URL")
73
- strength = gr.Radio(["Low", "Medium", "High"], label="Compression Strength", value="Medium", info="Low: Minimal compression, Medium: Moderate compression, High: Maximum compression")
74
  compress_btn = gr.Button("Compress")
75
  output_file = gr.File(label="Download Compressed PDF")
76
  message = gr.Textbox(label="Message")
77
 
78
  compress_btn.click(
79
  process_and_compress,
80
- inputs=[input_file, url_input, strength],
81
  outputs=[output_file, message]
82
  )
83
 
 
5
  import tempfile
6
  import os
7
 
8
+ def compress_pdf(input_file, url):
9
  if input_file is None and (url is None or url.strip() == ""):
10
  return None, "Please provide either a file or a URL."
11
 
 
35
 
36
  pdf = pikepdf.Pdf.open(pdf_content)
37
 
38
+ # Always use the highest compression setting
39
+ compression_params = dict(compress_streams=True, object_stream_mode=pikepdf.ObjectStreamMode.generate)
 
 
 
 
40
 
41
  pdf.save(temp_file_path, **compression_params)
42
 
 
53
  return temp_file_path, f"PDF compressed successfully! Compression achieved: {compression_percentage:.2f}%"
54
  except Exception as e:
55
  return None, f"Error compressing PDF: {str(e)}"
56
+
57
+ def process_and_compress(input_file, url):
58
+ output_file, message = compress_pdf(input_file, url)
59
  if output_file:
60
  return output_file, message
61
  else:
 
66
  with gr.Row():
67
  input_file = gr.File(label="Upload PDF")
68
  url_input = gr.Textbox(label="Or enter PDF URL")
 
69
  compress_btn = gr.Button("Compress")
70
  output_file = gr.File(label="Download Compressed PDF")
71
  message = gr.Textbox(label="Message")
72
 
73
  compress_btn.click(
74
  process_and_compress,
75
+ inputs=[input_file, url_input],
76
  outputs=[output_file, message]
77
  )
78