Download app.py from Shashi23/PDFMerge: direct link, hf CLI and curl.
- Browser
- Download file 946 Bytes
-
https://huggingface.co/spaces/Shashi23/PDFMerge/resolve/main/app.py
- Command line
-
hf download hf://spaces/Shashi23/PDFMerge/app.py
-
curl -L -o app.py https://huggingface.co/spaces/Shashi23/PDFMerge/resolve/main/app.py
946 Bytes
| import gradio as gr | |
| import PyPDF2 | |
| import os | |
| def merge_pdfs(pdf_files): | |
| merger = PyPDF2.PdfMerger() | |
| for pdf_file in pdf_files: | |
| merger.append(pdf_file.name) | |
| output_path = "merged.pdf" | |
| merger.write(output_path) | |
| merger.close() | |
| return output_path | |
| def update_preview(pdf_files): | |
| return "\n".join([f.name for f in pdf_files]) | |
| with gr.Blocks() as iface: | |
| gr.Markdown("# PDF Merger") | |
| gr.Markdown("Upload multiple PDF files to merge them into a single PDF.") | |
| pdf_files = gr.File(file_count="multiple", file_types=[".pdf"], label="Upload PDFs") | |
| preview = gr.Textbox(label="Files to be merged (in order)", lines=5, interactive=False) | |
| merge_button = gr.Button("Merge PDFs") | |
| output = gr.File(label="Merged PDF") | |
| pdf_files.change(update_preview, inputs=[pdf_files], outputs=[preview]) | |
| merge_button.click(merge_pdfs, inputs=[pdf_files], outputs=[output]) | |
| iface.launch() | |