File size: 968 Bytes
02a828a
2fb1dc7
02a828a
2fb1dc7
a890cd9
 
02a828a
2fb1dc7
a890cd9
2fb1dc7
a890cd9
 
 
02a828a
 
 
 
 
2fb1dc7
 
02a828a
 
ae606f2
02a828a
2fb1dc7
 
02a828a
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import gradio as gr
from modify_pdf import scale_vector_text

def process_pdf(file, scale_factor, thickness_factor):
    if file is None:
        return "No file uploaded!"
    input_pdf = file.name
    output_pdf = "output_scaled.pdf"
    try:
        scale_vector_text(input_pdf, output_pdf, scale_factor, thickness_factor)
        return output_pdf
    except Exception as e:
        return f"Error: {e}"

interface = gr.Interface(
    fn=process_pdf,
    inputs=[
        gr.File(label="Upload PDF", file_types=[".pdf"]),
        gr.Slider(1.0, 3.0, step=0.1, value=1.2, label="Size Scaling Factor"),
        gr.Slider(1.0, 3.0, step=0.1, value=1.2, label="Thickness Scaling Factor"),
    ],
    outputs=[
        gr.File(label="Download Modified PDF")
    ],
    title="Vector Text Transformer",
    description="Scale size and thickness of vector-based text in a PDF while preserving layers and vector data."
)

if __name__ == "__main__":
    interface.launch()