|
|
||
|---|---|---|
| .idea | ||
| original | ||
| .env | ||
| README.md | ||
| gui.py | ||
| logo.png | ||
| pdf_export.py | ||
| printer.gif | ||
README.md
PDF Export und Druckskript
Dieses Python-Skript lädt eine PDF-Datei von einer externen API herunter, verarbeitet die PDF, teilt sie in Abschnitte (z. B. für verschiedene Versanddienstleister wie DHL, DPD, UPS), speichert die getrennten Abschnitte und druckt sie auf vordefinierten Druckern. Das Skript ist darauf ausgelegt, Bestellungen und Versandlabels automatisch zu verarbeiten und zu drucken.
Anforderungen
Bevor du das Skript ausführen kannst, stelle sicher, dass du folgende Anforderungen erfüllst:
1. Python und Bibliotheken
Das Skript verwendet mehrere Python-Bibliotheken, die du zuerst installieren musst:
- requests: Zum Herunterladen der PDF von der API.
- PyMuPDF (fitz): Zum Bearbeiten und Verarbeiten der PDF-Datei.
- pywin32: Für die Kommunikation mit Windows-Druckern.
- Pillow (PIL): Für die Bildverarbeitung und das Drucken von PDFs.
- python-dotenv: Zum Laden der Umgebungsvariablen aus einer
.env-Datei.
Installiere die Abhängigkeiten mit folgendem Befehl:
pip install requests PyMuPDF pywin32 Pillow python-dotenv
2. Druckertreiber
Das Skript erfordert, dass auf dem Ziel-Windows-Computer die Druckertreiber für die Drucker, die im Skript verwendet werden (z. B. für Labels und Bestellungen), installiert sind. Die Drucker sollten in Windows richtig konfiguriert sein und ihren Namen in der .env-Datei definiert haben.
3. Erstellen der .env-Datei
Erstelle eine .env-Datei im gleichen Verzeichnis wie das Skript. Diese Datei sollte die folgenden Variablen enthalten:
API_URL=deine_api_url
LABEL_DRUCKER=Name_des_Label_Druckers
ORDER_DRUCKER=Name_des_Bestell_Druckers
Ersetze deine_api_url mit der URL der API, die das PDF zur Verfügung stellt, und die Druckernamen mit den tatsächlichen Namen der Drucker, die du verwenden möchtest.
Funktionsweise
Das Skript führt die folgenden Schritte aus:
- PDF herunterladen: Eine PDF wird von einer externen API basierend auf der URL in der
.env-Datei heruntergeladen. - PDF-Verarbeitung: Die PDF wird in Abschnitte unterteilt, die auf bestimmte Versanddienstleister (z. B. DHL, DPD, UPS) basieren. Die Abschnitte werden in separaten PDF-Dateien gespeichert.
- Speichern der PDFs:
- Die Bestellung wird in einer Datei im Verzeichnis
./ordersgespeichert. - Versandlabels werden im Verzeichnis
./labelgespeichert.
- Die Bestellung wird in einer Datei im Verzeichnis
- Drucken der PDFs:
- Jedes Versandlabel wird auf dem Drucker für Labels (
LABEL_DRUCKER) und jede Bestellung auf dem Drucker für Bestellungen (ORDER_DRUCKER) ausgedruckt.
- Jedes Versandlabel wird auf dem Drucker für Labels (
Verwendung
- Stelle sicher, dass alle Anforderungen erfüllt sind (Python-Abhängigkeiten installiert, Druckertreiber vorhanden,
.env-Datei konfiguriert). - Führe das Skript aus:
python pdf_export.py
Das Skript lädt das PDF, verarbeitet es, speichert die separaten Abschnitte und druckt sie auf den entsprechenden Druckern.
Erstellen einer ausführbaren .exe-Datei
Um das Skript als ausführbare .exe-Datei für Windows zu erstellen, kannst du PyInstaller verwenden:
-
Installiere PyInstaller:
pip install pyinstaller -
Erstelle die
.exe-Datei:pyinstaller --onefile --add-data "path o\your\envile;." --add-data "path o\your\label_printer_drivers;." pdf_export.py--onefile: Erstellt eine einzelne.exe-Datei.--add-data: Fügt die.env-Datei und Druckertreiber zum Paket hinzu.
-
Die erstellte
.exe-Datei findest du imdist-Ordner. Kopiere sie zusammen mit der.env-Datei und den notwendigen Druckertreibern auf den Ziel-Windows-PC.
Wichtige Hinweise
- Das Skript benötigt eine funktionierende Internetverbindung, um die PDF von der API herunterzuladen.
- Stelle sicher, dass die Drucker korrekt konfiguriert sind und über die entsprechenden Druckertreiber verfügen.
- Du kannst das Skript jederzeit anpassen, um weitere Versanddienstleister zu unterstützen oder die Verarbeitung nach deinen Bedürfnissen zu ändern.
Fehlerbehebung
- Drucker wird nicht gefunden: Überprüfe, ob der Druckername in der
.env-Datei korrekt ist und der Drucker ordnungsgemäß installiert ist. - PDF wird nicht heruntergeladen: Stelle sicher, dass die API-URL korrekt in der
.env-Datei angegeben ist und die API verfügbar ist.
Lizenz
Dieses Projekt ist unter der MIT-Lizenz lizenziert. Siehe die LICENSE-Datei für Details.