Skip to content

Dieses Projekt ist ein Web-Tool zur Verwaltung und Vorschau von PDF-Dateien. Es bietet Funktionen zum Hochladen, Anzeigen und Verwalten von PDF-Dokumenten direkt im Browser.

License

Notifications You must be signed in to change notification settings

Achim-Sommer/pdf-tool-website

Repository files navigation

PDF Tool

React Vite pdf-lib License Docker Deployment wakatime

Eine moderne Web-Anwendung zum Zusammenfügen von PDF-Dateien, entwickelt mit React und Vite.

🔒 Datenschutz & Sicherheit

  • Keine Server-Speicherung: Alle PDF-Dateien werden ausschließlich im Browser des Benutzers verarbeitet
  • Client-seitige Verarbeitung: Die Zusammenführung erfolgt komplett lokal durch pdf-lib
  • Keine Datenübertragung: Es werden keine Dateien an externe Server gesendet

✨ Features

  • Drag & Drop Upload von PDF-Dateien
  • Mehrere PDF-Dateien gleichzeitig auswählbar
  • PNG, HEIC und JPEG Dateien können ebenfalls verwendet werden
  • Automatische Skalierung von Bildern auf DIN A4-Format
  • Moderne, intuitive Benutzeroberfläche
  • Echtzeit-Fortschrittsanzeige
  • Responsive Design für alle Geräte

🛠 Technologien

  • React 18
  • Vite
  • Emotion (Styled Components)
  • pdf-lib für PDF-Verarbeitung

🔧 Technische Details

PDF & Bildverarbeitung

  • Unterstützte Dateiformate:

    • PDF
    • PNG
    • JPEG
    • HEIC
  • Bildkonvertierung:

    • Automatische Konvertierung von Bildern in PDF-Seiten
    • Zentrierte Platzierung auf DIN A4-Seiten
    • Proportionale Skalierung ohne Verzerrung
  • Seitenauswahl:

    • Individuelle Seitenauswahl pro PDF-Datei
    • Flexibles Zusammenfügen ausgewählter Seiten
  • Technische Spezifikationen:

    • DIN A4 Standardformat: 595.28 x 841.89 Punkte
    • Unterstützt Unicode und verschiedene Schriftarten
    • Kompatibel mit PDF-Versionen 1.7 und höher

Performance

  • Client-seitige Verarbeitung:

    • Verarbeitung direkt im Browser
    • Keine Wartezeiten durch Serverübertragung
    • Schnelle Zusammenführung von PDFs
  • Ressourceneffizienz:

    • Minimaler Speicherbedarf
    • Geringer CPU-Verbrauch
    • Optimiert für moderne Browser

Browser-Kompatibilität

  • Unterstützt moderne Browser:

    • Google Chrome (aktuellste Version)
    • Mozilla Firefox (aktuellste Version)
    • Microsoft Edge (aktuellste Version)
    • Safari (aktuellste Version)
    • Opera (aktuellste Version)
  • Systemanforderungen:

    • Empfohlene Mindest-Browserversion:
      • Chrome 90+
      • Firefox 88+
      • Safari 14+
      • Edge 90+

🚀 Installation

  1. Repository klonen:
git clone https://github.com/achim-sommer/pdf-tool-website.git
cd pdf-tool-website
  1. Abhängigkeiten installieren:
npm install
  1. Entwicklungsserver starten:
npm run dev
  1. Produktions-Build erstellen:
npm run build

🐳 Docker Deployment

  1. Docker Image bauen:
docker build -t pdf-merger:1.0 .
  1. Container starten:
docker run -p 80:80 pdf-merger:1.0

Portainer Deployment

  1. In Portainer navigieren zu "Containers"
  2. "Add Container" auswählen
  3. Folgende Einstellungen vornehmen:
    • Image: pdf-merger:1.0
    • Port mapping: 80:80
    • Name: pdf-merger
    • Network: bridge

💻 Entwicklung

Projektstruktur

pdf-tool-website/
├── src/
│   ├── components/
│   │   ├── UploadZone.jsx    # Drag & Drop Komponente
│   │   ├── FileList.jsx      # Liste der hochgeladenen Dateien
│   │   └── ProgressBar.jsx   # Fortschrittsanzeige
│   ├── App.jsx              # Hauptanwendung
│   └── index.css            # Globale Styles
├── public/
├── Dockerfile              # Docker-Konfiguration
└── vite.config.js         # Vite-Konfiguration

🔧 Wartung

  • Regelmäßige Updates der Abhängigkeiten empfohlen
  • pdf-lib Updates für neue PDF-Funktionalitäten beachten
  • Browser-Kompatibilität regelmäßig prüfen

🌐 Testseite

Eine Testseite der Anwendung ist verfügbar unter pdf.achimsommer.com.

📝 Lizenz

Dieses Projekt ist unter der MIT-Lizenz lizenziert - siehe die LICENSE Datei für Details.

Die MIT-Lizenz ist eine permissive Open-Source-Lizenz, die:

  • Kostenlose Nutzung erlaubt
  • Modifikationen erlaubt
  • Kommerzielle Nutzung erlaubt
  • Verteilung und Unterlizenzierung erlaubt
  • Nur minimale Anforderungen an die Namensnennung stellt

🤝 Support

Bei Fragen oder Problemen können Sie:

  • Ein Issue im GitHub Repository erstellen
  • Einen Pull Request mit Verbesserungen einreichen
  • Fork des Projekts erstellen und eigene Anpassungen vornehmen

Alle Beiträge zur Verbesserung des Projekts sind willkommen!

About

Dieses Projekt ist ein Web-Tool zur Verwaltung und Vorschau von PDF-Dateien. Es bietet Funktionen zum Hochladen, Anzeigen und Verwalten von PDF-Dokumenten direkt im Browser.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages