Zum Inhalt

Drucken

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

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

oder

1
2
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:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#!/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