4 from mitglied import Mitglied
8 ./ausweis.py Michael Wagner "25.5.1965" MitgliederausweisSVBaLVorlage_leer.pdf ./
11 def erzeuge_ausweis(mitglied: Mitglied, ausgabetext, hintergrund_pdf, ausgabe_pfad):
12 from PyPDF2 import PdfFileWriter, PdfFileReader
13 from datetime import date
15 from reportlab.pdfgen import canvas
16 from reportlab.lib.pagesizes import letter
19 can = canvas.Canvas(packet, pagesize=letter)
22 can.setFont("Helvetica", 12)
23 can.drawString(70, 640, mitglied.anrede)
24 can.drawString(70, 625, mitglied.vorname+" "+mitglied.nachname)
25 can.drawString(70, 610, mitglied.strasse)
26 can.drawString(70, 590, mitglied.plz+" "+mitglied.ort)
29 can.setFont("Helvetica", 9)
30 can.drawString(350, 520, "München, "+date.today().strftime('%d.%m.%Y'))
33 can.drawString(70, 500, "Sehr geehrte/r "+mitglied.anrede+" "+mitglied.nachname+",")
34 text = can.beginText(70, 480)
35 text.textLines(ausgabetext)
39 can.line(20, 180, 560, 180)
42 can.setFont("Helvetica", 12)
43 can.drawString(460, 100, mitglied.mitgliedsnr)
44 can.drawString(330, 80, mitglied.vorname+" "+mitglied.nachname)
45 can.setFont("Helvetica", 9)
46 can.drawString(400, 56, mitglied.geburtsdatum)
47 can.drawString(400, 42, mitglied.eintrittsdatum)
48 can.drawString(400, 20, mitglied.ver_grund)
53 #move to the beginning of the StringIO buffer
56 # create a new PDF with Reportlab
57 new_pdf = PdfFileReader(packet)
58 # read your existing PDF
59 existing_pdf = PdfFileReader(open(hintergrund_pdf, "rb"))
60 output = PdfFileWriter()
61 # add the "watermark" (which is the new pdf) on the existing page
62 page = existing_pdf.pages[0]
63 page.mergePage(new_pdf.pages[0])
65 # finally, write "output" to a real file
66 output_stream = open(ausgabe_pfad, "wb")
67 output.write(output_stream)
70 if __name__ == "__main__":
71 if len(sys.argv) == 6:
72 nachname = sys.argv[1]
74 geburtsdatum = sys.argv[3]
82 print ("Geburtsdatum:")
83 geburtsdatum = input()
84 print ("Input-Datei: ")
86 print ("Ausgabepfad:")
89 mitglied = Mitglied(nachname, vorname, geburtsdatum)
90 erzeuge_ausweis(mitglied,infile, outpath)