From 9188957ec61702a1532538f4d79a9e689705ab17 Mon Sep 17 00:00:00 2001 From: Nehal Khan <163626327+iamnehalien29@users.noreply.github.com> Date: Fri, 17 Oct 2025 21:05:54 +0530 Subject: [PATCH 1/3] Create pdf_to_text.py --- Python/PDf2Txt/pdf_to_text.py | 44 +++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 Python/PDf2Txt/pdf_to_text.py diff --git a/Python/PDf2Txt/pdf_to_text.py b/Python/PDf2Txt/pdf_to_text.py new file mode 100644 index 0000000..dd59d29 --- /dev/null +++ b/Python/PDf2Txt/pdf_to_text.py @@ -0,0 +1,44 @@ +import os +import PyPDF2 + +folder_path = os.path.dirname(os.path.abspath(__file__)) + +total_pdfs = 0 +converted = 0 +skipped = 0 +failed = 0 + +for filename in os.listdir(folder_path): + if filename.lower().endswith('.pdf'): + total_pdfs += 1 + pdf_file_path = os.path.join(folder_path, filename) + txt_file_path = os.path.join(folder_path, f"{os.path.splitext(filename)[0]}.txt") + + try: + with open(pdf_file_path, 'rb') as file: + reader = PyPDF2.PdfReader(file) + text = '' + for page in reader.pages: + page_text = page.extract_text() + if page_text: + text += page_text + '\n' + + if text.strip(): + with open(txt_file_path, 'w', encoding='utf-8') as f: + f.write(text) + print(f"✅ Converted '{filename}' to '{os.path.basename(txt_file_path)}'") + converted += 1 + else: + print(f"⚠ Skipped '{filename}': no text found") + skipped += 1 + + except Exception as e: + print(f"❌ Failed to convert '{filename}': {e}") + failed += 1 + +print("\n--- Summary ---") +print(f"Total PDFs found: {total_pdfs}") +print(f"Converted: {converted}") +print(f"Skipped (no text): {skipped}") +print(f"Failed: {failed}") +print("Processing complete.") From 672724a20260f2635f5d2fc0839ef0408ad42ac0 Mon Sep 17 00:00:00 2001 From: Nehal Khan <163626327+iamnehalien29@users.noreply.github.com> Date: Fri, 17 Oct 2025 21:08:01 +0530 Subject: [PATCH 2/3] Create README.md --- Python/PDf2Txt/README.md | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 Python/PDf2Txt/README.md diff --git a/Python/PDf2Txt/README.md b/Python/PDf2Txt/README.md new file mode 100644 index 0000000..87a3a82 --- /dev/null +++ b/Python/PDf2Txt/README.md @@ -0,0 +1,24 @@ +# PDF to Text Converter + +This Python project automatically converts PDF files in a folder into plain text files using **PyPDF2**. Each PDF is processed page by page, and the extracted text is saved as a `.txt` file with the same name as the PDF. + +--- + +## Features + +- Automatically processes **all PDFs in the folder**. +- Skips PDFs with **no extractable text**. +- Handles errors gracefully and prints a **summary**. +- Creates `.txt` files named after the original PDF. + +--- + +## Requirements + +- Python 3.7 or higher +- PyPDF2 library + +Install PyPDF2 with pip: + +```bash +pip install PyPDF2 From 03cdbb03515841a2a18ae596e30b053275fda15c Mon Sep 17 00:00:00 2001 From: Nehal Khan <163626327+iamnehalien29@users.noreply.github.com> Date: Fri, 17 Oct 2025 21:10:28 +0530 Subject: [PATCH 3/3] Add files via upload --- Python/PDf2Txt/Screenshot 2025-10-17 210928.png | Bin 0 -> 37759 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 Python/PDf2Txt/Screenshot 2025-10-17 210928.png diff --git a/Python/PDf2Txt/Screenshot 2025-10-17 210928.png b/Python/PDf2Txt/Screenshot 2025-10-17 210928.png new file mode 100644 index 0000000000000000000000000000000000000000..08183f35a9791ae95b2f005faf049337949ee6e1 GIT binary patch literal 37759 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 My85}Sb4q9e0MHdx(*OVf literal 0 HcmV?d00001