TestSpace / app.py
aneesqumar's picture
Create app.py
7ccaf12 verified
Raw
History Blame Contribute Delete
943 Bytes
import gradio as gr
from pypdf import PdfReader, PdfWriter
def merge_pdfs(files):
if not files:
return None
writer = PdfWriter()
for f in files:
reader = PdfReader(f.name)
for page in reader.pages:
writer.add_page(page)
output_file = "merged.pdf"
with open(output_file, "wb") as out_f:
writer.write(out_f)
return output_file
with gr.Blocks(title="PDF Notes App") as demo:
gr.Markdown(
"""
# ๐Ÿ“„ PDF Notes App
Upload multiple PDF files and merge them into a single PDF.
"""
)
pdfs = gr.File(
file_types=[".pdf"],
file_count="multiple",
label="Upload PDF Files"
)
merge_btn = gr.Button("Merge PDFs")
output_pdf = gr.File(label="Merged PDF")
merge_btn.click(
fn=merge_pdfs,
inputs=pdfs,
outputs=output_pdf
)
if __name__ == "__main__":
demo.launch()