Zum Inhalt

Mit Python kann man schöne pdf-Dateien erzeugen und drucken.

Will man Text oder Variablen statt auf dem Bildschirm lieber auf einem bedruckten und schön formatierten Papier, bietet es sich an, eine pdf zu erzeugen und diese dann zu drucken. Alternativ könnte man auch eine HTML-Seite erzeugen und diese dann drucken.

Mit Python eine Datei über das Terminal drucken

python import subprocess subprocess.Popen(['lpr', 'dateiname'])

oder

python from subprocess import call call("lpr dateiname", shell=True)

Mit Python eine pdf-Datei erstellen

Eine vorinstalliertes Paket, das pdf-Dateien erzeugen kann heißt ReportLab.

Hier ein Beispiel:

```python

!/usr/bin/env python3

from reportlab.pdfgen import canvas from reportlab.lib.pagesizes import A4 from reportlab.lib.units import cm

Anlegen des PDF Dokuments, Seitengröße DIN A4 Hochformat)

pdf = canvas.Canvas('schuelerausweis.pdf',pagesize=A4)

Holen der Seitenabmessung, um den Inhalt davon abhängig zu positionieren.

breite, hoehe = A4

Der Nullpunkt des Dokuments ist unten links.

Text einfügen

pdf.setFont('Helvetica-Bold',20) pdf.drawCentredString(breite/2,hoehe-(2*cm),'dieser Text steht oben zentriert.') pdf.drawString(1*cm,1*cm,'Dieser Text steht links unten.')

Ein Bild einfügen

pdf.drawImage('pic.png',x=2*cm, y=2*cm, mask='auto',width=2*cm, height=3*cm)

Ein gefülltes Rechteck einfügen

pdf.setStrokeColorRGB(0,1,0) pdf.setFillColorRGB(0,0,0) pdf.rect((breite/2)-(3*cm),(hoehe/2)-(3*cm),6*cm,6*cm,fill=1)

Die PDF generieren und speichern

pdf.showPage() pdf.save() ```

Deutsche Anleitung zu ReportLab