Go to file
Sebastian Serfling 4eee8ea06b Add README 2025-04-25 10:55:43 +02:00
.idea First Upload 2025-04-25 10:53:10 +02:00
original First Upload 2025-04-25 10:51:55 +02:00
.env First Upload 2025-04-25 10:51:55 +02:00
README.md Add README 2025-04-25 10:55:43 +02:00
pdf_export.py First Upload 2025-04-25 10:51:55 +02:00

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:

  1. PDF herunterladen: Eine PDF wird von einer externen API basierend auf der URL in der .env-Datei heruntergeladen.
  2. 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.
  3. Speichern der PDFs:
    • Die Bestellung wird in einer Datei im Verzeichnis ./orders gespeichert.
    • Versandlabels werden im Verzeichnis ./label gespeichert.
  4. 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.

Verwendung

  1. Stelle sicher, dass alle Anforderungen erfüllt sind (Python-Abhängigkeiten installiert, Druckertreiber vorhanden, .env-Datei konfiguriert).
  2. 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:

  1. Installiere PyInstaller:

    pip install pyinstaller
    
  2. Erstelle die .exe-Datei:

    pyinstaller --onefile --add-data "path	o\your\envile;." --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.
  3. Die erstellte .exe-Datei findest du im dist-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.