Skip to content

📜 Et simpelt, modulopbygget Python-program der kan downloade PDF-filer fra URL’er gemt i et Excel-ark.

Notifications You must be signed in to change notification settings

SaneStreet/PDFDownloader

Repository files navigation

📜 PDF Downloader

Et simpelt, modulopbygget Python-program der kan downloade PDF-filer fra URL’er gemt i et Excel-ark.
Programmet er designet med separation of concerns, SOLID-principper og modulær arkitektur for at gøre det nemt at udvide og vedligeholde.


🚀 Funktioner

  • Læser URL’er fra kolonner i et Excel-ark (.xlsx)
  • Downloader PDF’er fra de angivne URL’er
  • Navngivning efter ønsket kolonnenavn
  • Gemmer dem i en valgfri mappe
  • Fejlhåndtering ved manglende kolonnenavne og ugyldige URL’er

🧱 Projektstruktur

📁 pdf_downloader/
│
├── main.py            # CLI entry point
├── excel_reader.py    # Læser data fra Excel-ark
├── pdf_downloader.py  # Downloader PDF’er fra URL’er
├── file_saver.py      # Gemmer filer i output-mappe
└── logger.py          # (Valgfrit) Logning af hændelser

⚙️ Installation

  1. Klon projektet:
   git clone https://github.com/SaneStreet/pdf-downloader.git
   cd pdf-downloader 
  1. Opret et virtuelt miljø (valgfrit men anbefalet):
   python -m venv venv
   source venv/bin/activate # på MacOS/Linux
   venv\Scripts\activate    # på Windows
  1. Installer requirements:
   pip install -r requirements.txt

🧩 Brug

Kør programmet fra kommandolinjen:

   python main.py -i StiTil/DinMappe -uc KolonnenMedURLer -nc KolonnenMedNavnene -o MappenDu/VilGemmeI

Argumenter

Flag Beskrivelse Eksempel
-i / --input Sti til Excel-filen data/input/Data.xlsx
-uc / --urlcolumn Navn på kolonnen med URL’er -uc pdf_URL
-nc / --namecolumn Navn på kolonnen med filnavne -nc PdfNr
-o / --output Outputmappe, hvor PDF’er gemmes -o ./Downloads

💡 Udvidelser i vente

  • Multithreading til asynkront downloading
  • Progress bar der viser download estimeret tid
  • Mulighed for at hente fra sekundære kolonner, hvis primære kolonner har ugyldige URL
  • Potentiel GUI projekt
  • Logføring til validering af downloads og evt. fejlbeskeder (404, 403, nan, etc)
  • Mulighed for at bruger kan vælge navngivning på PDF-filerne (f.eks. "pdf_01", "file_pdf_05", etc)

About

📜 Et simpelt, modulopbygget Python-program der kan downloade PDF-filer fra URL’er gemt i et Excel-ark.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages