Files
PDF-WEB/README_INSTALL.md
SimolZimol 97fd0762d7 new file: QUICKSTART.md
new file:   README_INSTALL.md
	new file:   requirements.txt
	new file:   static/css/style.css
	new file:   static/js/images-to-pdf.js
	new file:   static/js/main.js
	new file:   static/js/pdf-tools.js
	new file:   templates/pdf_tools.html
2025-10-12 22:13:29 +02:00

6.8 KiB

PDF Editor Web App

Eine vollständige PDF-Bearbeitungs-Web-Anwendung, die als lokaler Flask-Server läuft. Bietet Funktionen zum Konvertieren von Bildern zu PDF, Zusammenführen von PDFs, Konvertieren von PDFs zu Bildern und vieles mehr.

Features

🖼️ Bilder zu PDF

  • Mehrere Bilder auswählen: Unterstützt JPG, PNG, GIF, BMP, TIFF
  • Drag & Drop Interface: Einfaches Hochladen durch Ziehen und Ablegen
  • Sortierbare Reihenfolge: Bilder durch Ziehen neu anordnen
  • Automatische Größenanpassung: Bilder werden optimal auf PDF-Seiten angepasst
  • Progress Tracking: Echtzeit-Upload-Fortschritt

🔧 PDF Tools

  • PDFs zusammenführen: Mehrere PDFs zu einer Datei kombinieren
  • PDF zu Bildern: Jede PDF-Seite als PNG/JPEG exportieren
  • Sortierbare PDF-Liste: Reihenfolge beim Zusammenführen anpassen
  • ZIP-Export: Alle extrahierten Bilder in einer ZIP-Datei

🛡️ Sicherheit & Datenschutz

  • 100% Lokal: Alle Verarbeitung erfolgt auf Ihrem Computer
  • Keine Cloud-Uploads: Dateien verlassen nie Ihr System
  • Automatische Bereinigung: Temporäre Dateien werden nach 1 Stunde gelöscht
  • Sichere Dateinamen: Automatische Bereinigung und Eindeutigkeit

📱 Benutzerfreundlichkeit

  • Responsive Design: Funktioniert auf Desktop, Tablet und Smartphone
  • Moderne UI: Bootstrap 5 mit Custom CSS
  • Intuitive Bedienung: Selbsterklärende Benutzeroberfläche
  • Echtzeit-Feedback: Progress Bars und Notifications

🚀 Installation

Voraussetzungen

  • Python 3.8 oder höher
  • pip (Python Package Manager)

Schritt-für-Schritt Installation

  1. Repository klonen oder herunterladen

    # Falls Sie Git verwenden
    git clone <repository-url>
    cd pdf-web-app
    
  2. Virtuelle Umgebung erstellen (empfohlen)

    python -m venv venv
    
    # Windows
    venv\Scripts\activate
    
    # macOS/Linux
    source venv/bin/activate
    
  3. Abhängigkeiten installieren

    pip install -r requirements.txt
    
  4. Poppler installieren (für pdf2image)

    Windows:

    • Laden Sie Poppler von hier herunter
    • Extrahieren Sie es nach C:\poppler
    • Fügen Sie C:\poppler\Library\bin zu Ihren Umgebungsvariablen hinzu

    macOS:

    brew install poppler
    

    Ubuntu/Debian:

    sudo apt-get update
    sudo apt-get install poppler-utils
    
  5. Anwendung starten

    python app.py
    
  6. Browser öffnen

    • Öffnen Sie Ihren Browser und gehen Sie zu: http://127.0.0.1:5000

📁 Projektstruktur

pdf-web-app/
├── app.py                 # Haupt-Flask-Anwendung
├── requirements.txt       # Python-Abhängigkeiten
├── README.md             # Diese Datei
├── templates/            # HTML-Templates
│   ├── base.html        # Basis-Template
│   ├── index.html       # Startseite
│   ├── images_to_pdf.html # Bilder zu PDF Seite
│   └── pdf_tools.html   # PDF Tools Seite
├── static/              # Statische Dateien
│   ├── css/
│   │   └── style.css    # Custom CSS
│   └── js/
│       ├── main.js      # Haupt-JavaScript
│       ├── images-to-pdf.js # Bilder zu PDF Funktionalität
│       └── pdf-tools.js # PDF Tools Funktionalität
├── uploads/             # Temporäre Upload-Dateien
└── output/              # Generierte Ausgabedateien

🔧 Konfiguration

Anpassbare Einstellungen in app.py:

# Maximale Dateigröße (Standard: 16MB)
MAX_FILE_SIZE = 16 * 1024 * 1024

# Unterstützte Bildformate
ALLOWED_IMAGE_EXTENSIONS = {'png', 'jpg', 'jpeg', 'gif', 'bmp', 'tiff'}

# Server-Konfiguration
app.run(debug=True, host='127.0.0.1', port=5000)

📖 Verwendung

Bilder zu PDF konvertieren

  1. Gehen Sie zur "Bilder zu PDF" Seite
  2. Ziehen Sie Bilder in den Upload-Bereich oder klicken Sie zum Auswählen
  3. Sortieren Sie die Bilder durch Ziehen in die gewünschte Reihenfolge
  4. Klicken Sie auf "Zu PDF konvertieren"
  5. Laden Sie die fertige PDF-Datei herunter

PDFs zusammenführen

  1. Gehen Sie zur "PDF Tools" Seite
  2. Wählen Sie den "PDFs zusammenführen" Tab
  3. Laden Sie mindestens 2 PDF-Dateien hoch
  4. Sortieren Sie die Reihenfolge durch Ziehen
  5. Klicken Sie auf "PDFs zusammenführen"
  6. Laden Sie die zusammengeführte PDF herunter

PDF zu Bildern konvertieren

  1. Gehen Sie zur "PDF Tools" Seite
  2. Wählen Sie den "PDF zu Bildern" Tab
  3. Laden Sie eine PDF-Datei hoch
  4. Wählen Sie die gewünschten Export-Einstellungen
  5. Klicken Sie auf "Zu Bildern konvertieren"
  6. Laden Sie die ZIP-Datei mit allen Bildern herunter

🛠️ Entwicklung

Lokale Entwicklung

# Debug-Modus aktivieren
export FLASK_DEBUG=1  # Linux/macOS
set FLASK_DEBUG=1     # Windows

# Anwendung starten
python app.py

Neue Features hinzufügen

  1. Backend-Logik in app.py hinzufügen
  2. API-Endpunkte erstellen
  3. Frontend-Funktionalität in entsprechende JS-Datei einfügen
  4. Templates bei Bedarf erweitern

🐛 Fehlerbehebung

Häufige Probleme

Problem: ImportError: No module named 'pdf2image' Lösung: Stellen Sie sicher, dass Poppler installiert ist (siehe Installation)

Problem: Permission denied beim Dateizugriff Lösung: Stellen Sie sicher, dass die Upload- und Output-Ordner beschreibbar sind

Problem: Große Dateien werden nicht hochgeladen Lösung: Erhöhen Sie MAX_CONTENT_LENGTH in der Flask-Konfiguration

Problem: PDF-Konvertierung schlägt fehl Lösung: Überprüfen Sie, ob alle Abhängigkeiten korrekt installiert sind

Debug-Informationen aktivieren

# In app.py
import logging
logging.basicConfig(level=logging.DEBUG)

📝 Lizenz

Dieses Projekt steht unter der MIT-Lizenz. Sie können es frei verwenden, modifizieren und verteilen.

🤝 Beitragen

Beiträge sind willkommen! Bitte:

  1. Forken Sie das Repository
  2. Erstellen Sie einen Feature-Branch
  3. Committen Sie Ihre Änderungen
  4. Pushen Sie zum Branch
  5. Erstellen Sie einen Pull Request

📞 Support

Bei Fragen oder Problemen:

  1. Überprüfen Sie die Fehlerbehebung oben
  2. Erstellen Sie ein Issue im Repository
  3. Überprüfen Sie die Console-Logs im Browser (F12)

🔮 Geplante Features

  • PDF-Passwort-Schutz
  • PDF-Metadaten bearbeiten
  • Wasserzeichen hinzufügen
  • OCR-Texterkennung
  • PDF-Komprimierung
  • Batch-Verarbeitung
  • Dark Mode
  • Mehrsprachige Unterstützung

📊 Technologie-Stack

  • Backend: Python Flask
  • Frontend: HTML5, CSS3, JavaScript (ES6+)
  • UI Framework: Bootstrap 5
  • PDF Processing: PyPDF2, reportlab, pdf2image
  • Image Processing: Pillow (PIL)
  • Icons: Font Awesome

Erstellt mit ❤️ für lokale PDF-Bearbeitung