diff --git a/CONTRIBUTER_INFO.md b/CONTRIBUTER_INFO.md index 574af92..f5afc99 100644 --- a/CONTRIBUTER_INFO.md +++ b/CONTRIBUTER_INFO.md @@ -28,3 +28,12 @@ - Collage name : CV Raman
+ +
+ +- Name : Deepansha +- Github Username : Deepansha-re +- College Name : Tiet +- HacktoberFest2025 + +
\ No newline at end of file diff --git a/Project-61-Pdf-Manipulator/README.md b/Project-61-Pdf-Manipulator/README.md new file mode 100644 index 0000000..bc6d124 --- /dev/null +++ b/Project-61-Pdf-Manipulator/README.md @@ -0,0 +1,13 @@ +# PDF Manipulator + +A beginner-friendly Python project to **merge, split, and extract text from PDFs**. + +## Features +- Merge multiple PDFs into one +- Split a PDF into individual pages +- Extract text from a PDF + +## How to Use +1. Install dependencies: + ```bash + pip install PyPDF2 diff --git a/Project-61-Pdf-Manipulator/examples/sample1.pdf b/Project-61-Pdf-Manipulator/examples/sample1.pdf new file mode 100644 index 0000000..e206b38 Binary files /dev/null and b/Project-61-Pdf-Manipulator/examples/sample1.pdf differ diff --git a/Project-61-Pdf-Manipulator/examples/sample2.pdf b/Project-61-Pdf-Manipulator/examples/sample2.pdf new file mode 100644 index 0000000..8c4118d Binary files /dev/null and b/Project-61-Pdf-Manipulator/examples/sample2.pdf differ diff --git a/Project-61-Pdf-Manipulator/pdf_tool.py b/Project-61-Pdf-Manipulator/pdf_tool.py new file mode 100644 index 0000000..49e6275 --- /dev/null +++ b/Project-61-Pdf-Manipulator/pdf_tool.py @@ -0,0 +1,50 @@ +import PyPDF2 + +def merge_pdfs(pdf_list, output): + merger = PyPDF2.PdfMerger() + for pdf in pdf_list: + merger.append(pdf) + merger.write(output) + merger.close() + print(f"Merged PDFs saved as {output}") + +def split_pdf(pdf_file): + pdf_reader = PyPDF2.PdfReader(pdf_file) + for page_num in range(len(pdf_reader.pages)): + pdf_writer = PyPDF2.PdfWriter() + pdf_writer.add_page(pdf_reader.pages[page_num]) + output_file = f"{pdf_file}_page_{page_num+1}.pdf" + with open(output_file, "wb") as f: + pdf_writer.write(f) + print(f"Page {page_num+1} saved as {output_file}") + +def extract_text(pdf_file): + pdf_reader = PyPDF2.PdfReader(pdf_file) + text = "" + for page in pdf_reader.pages: + text += page.extract_text() + print("Extracted Text:\n", text) + return text + +def main(): + print("PDF Manipulator") + print("1. Merge PDFs") + print("2. Split PDF") + print("3. Extract Text") + choice = input("Enter choice (1/2/3): ") + + if choice == "1": + files = input("Enter PDF files separated by comma: ").split(",") + output = input("Enter output file name: ") + merge_pdfs(files, output) + elif choice == "2": + file = input("Enter PDF file to split: ") + split_pdf(file) + elif choice == "3": + file = input("Enter PDF file to extract text from: ") + extract_text(file) + else: + print("Invalid choice") + +if __name__ == "__main__": + main() diff --git a/Project-61-Pdf-Manipulator/requirements.txt b/Project-61-Pdf-Manipulator/requirements.txt new file mode 100644 index 0000000..800a2df --- /dev/null +++ b/Project-61-Pdf-Manipulator/requirements.txt @@ -0,0 +1,2 @@ +PyPDF2==3.0.1 +