Newbie braucht ein paar Tips - Python statt Serienbrief

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
ratzupaltuff
User
Beiträge: 2
Registriert: Donnerstag 9. August 2018, 19:33

Hallo da draußen,
ich habe im Büro die zweifelhafte Ehre für eine gestellte Aufgabe eine möglichst gute Lösung zu finden. Nachdem ich mehrere Tage versucht hatte diese mit Hilfe von Word zu lösen, bin ich nun ziemlich entnervt und suche eine Alternative.
Ein Freund riet mir, dass ich trotz fehlender Programmierkenntnisse überlegen sollte mit Python eine Lösung zu finden.
In den letzten Tagen habe ich versucht etwas in die Materie hineinzukommen- es wäre sehr nett, wenn mir jemand helfen könnte einen gangbaren Weg zu finden.

Die Aufgabe ist folgende:
Ich habe eine Excel-Tabelle mit x Zeilen und ca 10 Spalten mit verschiedenen Informationen (+ Bild) zu x verschiedenen "Produkten".
Daraus sollen nachher x einseitige pdfs werden die die Informationen hübsch präsentieren- inklusive Bild. Die Anordnung der einzelnen "Produktinformationen" ist auch (grob) vorgegeben.

Das hatte ich dann versucht über die Serienbief-Funktion von Word zu realisieren- was für ein Affentanz!

Gibt es einen Weg das mit Python elegant zu lösen? Excel-Dateien kann ich ja einlesen mit Python- Ich müsste dann eine HTML-"Gerüst" erstellen (HTML kann ich auch nicht..) in der ich die einzelnen Produktinformationen anordne und dann zu jedem Produkt die jeweilige HTML-Seite als pdf exportiere.
Da es dabei pro Monat um ca 100 pdfs geht, könnte sich der Aufwand lohnen.

Es wäre nett, wenn ihr mich etwas in die richtige Richtung schieben könntet.

Danke schon mal im Voraus!

Grüße,
Tim
Benutzeravatar
__blackjack__
User
Beiträge: 13077
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@ratzupaltuff: Ich weiss nicht ob HTML der richtige/beste Zwischenschritt ist. Das klingt nach etwas wofür man die `reportlab`-Bibliothek verwenden könnte.
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
Benutzeravatar
noisefloor
User
Beiträge: 3854
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,

so was ähnliches habe ich für die Firma, für die ich arbeite, programmiert. Da kommt in der Tat ReportLab für die PDFs zum Einsatz. Zusätzlich habe ich die optionale Ausgabe als HTML-Datei realisiert. Wobei ich die Daten in einer Datenbank speichere, nicht in Excel. Die Benutzeroberfläche habe ich web-basiert mit Django umgesetzt.
Ein Freund riet mir, dass ich trotz fehlender Programmierkenntnisse überlegen sollte mit Python eine Lösung zu finden.
Na ja, wenn du gar nicht programmieren kannst, ist das halt ein ambitioniertes Projekt. Du müsstest halt erst mal Python lernen und die Grundlagen drauf haben, sonst kann du ReportLab IMHO nicht verstehen.

Wenn du ambitioniert genug bist und genug Zeit investierst und dir bei Problemen hier Hilfe im Forum holst, kannst du das IMHO in 6-12 Wochen erfolgreich umsetzen.

Vorab solltest du aber klären, ob du überhaupt Python-Programme bei euch in der Firma ausführen kannst / darfst.

Gruß, noisefloor
ratzupaltuff
User
Beiträge: 2
Registriert: Donnerstag 9. August 2018, 19:33

Hui,
6-12 Wochen habe ich nicht Zeit.
Und beim ersten Anblick erscheint mir ReportLab in der Tat nicht ganz banal zu sein.

Also der Zeitrahmen den ich habe beläuft sich auf ca eine Arbeitswoche.
Auch wenn es keine perfekte Lösung wäre, mal ganz banal gesprochen-
Was wäre, wenn ich mit irgendeinem WYSIWYG-Editor meine HTML-Seite zusammenbastel und in die entsprechenden Felder der Seite Platzhalter einbaue- um diese dann per Script durch jeweils einen "Datensatz" zu ersetzen? Und diese Seite dann ausgeben als pdf?

VG,
Tim
__deets__
User
Beiträge: 14528
Registriert: Mittwoch 14. Oktober 2015, 14:29

Wie gibst du denn als PDF aus? Automatisch?
Benutzeravatar
noisefloor
User
Beiträge: 3854
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,
Also der Zeitrahmen den ich habe beläuft sich auf ca eine Arbeitswoche.
Sofern du nicht eine andere Programmiersprache sehr gut kannst ist es IMHO völlig unrealistisch, in einer Woche brauchbar Python zu lernen. Mal vom Verarbeiten von Excel-Dateien und ReportLab abgesehen.

HTML ist IMHO ein stark suboptimaler Ansatz, weil HTML so überhaupt nicht auf Print-Layouts ausgelegt ist. Außerdem brauchst du zum vernünftigen Platzieren der Elemente auf einer Seite CSS-Kenntnisse - und das lernt / versteht man auch nicht von jetzt auf gleich.

Eine alternative wäre ggf. noch der Microsoft Publisher. Der sollte zumindest mit Excel vernünftig zusammen spielen. Habe den Publisher aber selber noch nie genutzt.

Gruß, noisefloor
Benutzeravatar
kbr
User
Beiträge: 1487
Registriert: Mittwoch 15. Oktober 2008, 09:27

@ratzupaltuff: vielleicht mag es ein kleiner Trost sein, dass der Tipp mit Python in die richtige Richtung ging, wie das folgende Video bestätigen mag: https://www.youtube.com/watch?v=4Wr31kp ... &t=5h2m19s.
Allerdings sind für solche Anwendungen bereits solide Python-Kenntnisse erforderlich. Insofern war der Hinweis Deines Freundes, etwas zu machen, was geht, Du aber nicht kannst, eher wenig hilfreich. Womöglich kannst Du Deinen Arbeitgeber mit dem Inhalt obigen Videos überzeugen, Dir zunächst Zeit zum Lernen zu geben, um dann in der Firma der "Experte" für solchen Aufgaben zu werden.
Antworten