File size: 946 Bytes
f8df900 c7865c7 f8df900 85348b1 f8df900 85348b1 c7865c7 1fb2ec4 c7865c7 f8df900 c7865c7 1fb2ec4 c7865c7 85348b1 c7865c7 1fb2ec4 c7865c7 f8df900 | 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 32 33 | 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()
|