Eine moderne Web-Anwendung zum Zusammenfügen von PDF-Dateien, entwickelt mit React und Vite.
- 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
- 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
- React 18
- Vite
- Emotion (Styled Components)
- pdf-lib für PDF-Verarbeitung
-
Unterstützte Dateiformate:
- 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
-
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
-
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+
- Empfohlene Mindest-Browserversion:
- Repository klonen:
git clone https://github.com/achim-sommer/pdf-tool-website.git
cd pdf-tool-website
- Abhängigkeiten installieren:
npm install
- Entwicklungsserver starten:
npm run dev
- Produktions-Build erstellen:
npm run build
- Docker Image bauen:
docker build -t pdf-merger:1.0 .
- Container starten:
docker run -p 80:80 pdf-merger:1.0
- In Portainer navigieren zu "Containers"
- "Add Container" auswählen
- Folgende Einstellungen vornehmen:
- Image: pdf-merger:1.0
- Port mapping: 80:80
- Name: pdf-merger
- Network: bridge
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
- Regelmäßige Updates der Abhängigkeiten empfohlen
- pdf-lib Updates für neue PDF-Funktionalitäten beachten
- Browser-Kompatibilität regelmäßig prüfen
Eine Testseite der Anwendung ist verfügbar unter pdf.achimsommer.com.
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
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!