Electrical Sheet PDF Extractor

via Freelancer ·

Budget / Salary$30–250
TypeFreelance project
LocationRemote
Posted1 hour ago
I regularly receive full construction drawing sets as one text-based PDF and need a fast way to pull out just the Electrical and Technology sheets diagrams pages Every page already follows the usual naming convention in the title block—codes like “E1.01 Lighting Plan” or “T3.10 Device Layout”—so the script can rely on that text to decide what to keep.

What I need
• A lightweight Python script (PyPDF2, pdfplumber or similar) that scans the combined file, identifies pages whose text starts with the electrical or technology codes, and exports them to a new, ordered PDF.
• At the same time the script should generate a simple CSV or TXT summary listing the extracted sheet numbers.
• Command-line operation is fine; Windows compatibility is a must, cross-platform is a bonus. No GUI required.
• Clear, commented code plus a short read-me so I can adjust the keyword list if project standards change.

Acceptance
Run the script on a sample 200-page PDF and it should:
1. Produce a second PDF containing only pages whose title block begins with “E” or “T”.
2. Output a matching sheet-number list.
3. Leave the source file untouched and finish in a single pass without manual tweaks.

Here is a step by step workflow description:
Technical Summary and Proposed Solution
1. Folder Monitoring & File Ingestion
• Method: Use a simple file watcher script (Python watchdog) or a scheduled script to detect when new PDFs arrive in the designated local folder.
• Trigger: New PDF arrival or manual trigger by the estimator.
2. PDF Parsing and Text Extraction
• Library: Use Python’s PyMuPDF (fitz) or pdfplumber to extract text content on a per-page basis.
• Task:
• For each page (sheet), extract text from the metadata sections or title block (usually located on the sheet border).
• Apply a regex filter to identify pages with sheet numbers matching the pattern E\d{2,4} (e.g., E101, E102, E-1001, E.000, T-000, T.000, T1000).
• Also scan the text for keywords like "Electrical" or Technology (case-insensitive) to improve confidence.
3. User Review Interface (Semi-Automation)
• Interface:
• Develop a simple GUI (e.g., Python Tkinter or a lightweight Electron app) showing thumbnails or page previews of the candidate pages identified as electrical.
• Allow the estimator to confirm or deselect pages before extraction.
• Purpose: Ensures accuracy and provides control without fully manual work.
4. PDF Extraction & Output File Creation
• Process:
• After user confirmation, extract selected pages into a new PDF using PyMuPDF or PyPDF2.
• Name the output file as {original_filename}_Electrical.pdf saved in the same folder.
• Look on G: drive for folder “26-XXX Template folder to copy” and rename using convention for next sequential file number in the folder: (and the name of the original PDF file dropped in the workflow folder) Ex: “26-225 Gold Strike Park – KTK”. Drop all PDFs and newly extracted Esheets into subfolder called: “03 - Drawings, Photos _ Specs”
5. Optional: Logging & Notifications
• Log processed files and pages for auditability.
• Notify the estimator when extraction is complete via popup or email integration if needed.

________________________________________
Technology Stack & Tools
Component Recommended Tool / Library Notes
Folder Monitoring Python watchdog Lightweight, event-driven
PDF Parsing / Text Extraction PyMuPDF (fitz) or pdfplumber Accurate per-page text extraction
Regex Matching Python re Pattern matching sheet numbers & keywords
GUI for User Verification Python Tkinter or PySimpleGUI Simple interface with previews
PDF Page Extraction & Merge PyMuPDF or PyPDF2 Reliable page-level operation
Execution Environment Python 3.x on Windows 11 Installed with required packages
________________________________________
High-level Workflow
1. Watch folder / await manual trigger → Detect new PDF.
2. Parse PDF pages: Extract text and identify candidate electrical sheets using regex and keyword search.
3. Display candidate sheets in GUI: Preview images/pages with checkboxes for estimator validation.
4. User confirms selection: Proceed to extract selected pages.
5. Generate new PDF: Save extracted pages into {filename}_Esheets.pdf, or Electrical.pdf in the same directory.
6. Look on G: drive for folder “26-XXX Template folder to copy”: make a copy and rename new copy using convention for next sequential file number in the folder: (and the name of the original PDF file dropped in the workflow folder) Ex: “26-225 Gold Strike Park – KTK”.
7. Final task: Drop all PDFs and newly extracted Esheets into subfolder called: “03 - Drawings, Photos _ Specs”
8. Log completion: Notify estimator or system.

Please include your timeframe and fixed price in the proposal.
php python pdf arduino software development scripting automation software engineering
Apply on Freelancer →

Project sourced from Freelancer.com. Applications happen directly on the original platform — we never collect your data.