+#!/usr/bin/python3
+
+import sys
+from AWK.mitglied import Mitglied
+
+"""
+Testaufruf:
+./ausweis.py Michael Wagner "25.5.1965" MitgliederausweisSVBaLVorlage_leer.pdf ./
+"""
+
+def erzeuge_ausweis(mitglied: Mitglied, ausgabetext, hintergrund_pdf, ausgabe_pfad):
+ from PyPDF2 import PdfFileWriter, PdfFileReader
+ from datetime import date
+ import io
+ from reportlab.pdfgen import canvas
+ from reportlab.lib.pagesizes import letter
+
+ packet = io.BytesIO()
+ can = canvas.Canvas(packet, pagesize=letter)
+
+ # Adressfeld
+ can.setFont("Helvetica", 12)
+ can.drawString(70, 640, mitglied.anrede)
+ can.drawString(70, 625, mitglied.vorname+" "+mitglied.nachname)
+ can.drawString(70, 610, mitglied.strasse)
+ can.drawString(70, 580, mitglied.plz+" "+mitglied.ort)
+
+ # Datum
+ can.setFont("Helvetica", 9)
+ can.drawString(350, 520, "München, "+date.today().strftime('%d.%m.%Y'))
+
+ # Anschreiben
+ can.drawString(70, 500, mitglied.anrede+" "+mitglied.nachname+",")
+ text = can.beginText(70, 480)
+ text.textLines(ausgabetext)
+ can.drawText(text)
+
+
+ can.line(20, 180, 560, 180)
+
+ # Ausweis
+ can.setFont("Helvetica", 12)
+ can.drawString(460, 110, mitglied.mitgliedsnr)
+ can.drawString(330, 80, mitglied.vorname+" "+mitglied.nachname)
+ can.setFont("Helvetica", 9)
+ can.drawString(400, 56, mitglied.geburtsdatum)
+ can.drawString(400, 42, mitglied.eintrittsdatum)
+ can.drawString(400, 20, mitglied.ver_grund)
+
+
+ can.save()
+
+ #move to the beginning of the StringIO buffer
+ packet.seek(0)
+
+ # create a new PDF with Reportlab
+ new_pdf = PdfFileReader(packet)
+ # read your existing PDF
+ existing_pdf = PdfFileReader(open(hintergrund_pdf, "rb"))
+ output = PdfFileWriter()
+ # add the "watermark" (which is the new pdf) on the existing page
+ page = existing_pdf.pages[0]
+ page.mergePage(new_pdf.pages[0])
+ output.addPage(page)
+ # finally, write "output" to a real file
+ output_stream = open(ausgabe_pfad, "wb")
+ output.write(output_stream)
+ output_stream.close()
+
+if __name__ == "__main__":
+ if len(sys.argv) == 6:
+ nachname = sys.argv[1]
+ vorname = sys.argv[2]
+ geburtsdatum = sys.argv[3]
+ infile = sys.argv[4]
+ outpath = sys.argv[5]
+ else:
+ print ("Nachname: ")
+ nachname = input()
+ print ("Vorname:")
+ vorname = input()
+ print ("Geburtsdatum:")
+ geburtsdatum = input()
+ print ("Input-Datei: ")
+ infile = input()
+ print ("Ausgabepfad:")
+ outpath = input()
+
+ mitglied = Mitglied(nachname, vorname, geburtsdatum)
+ erzeuge_ausweis(mitglied,infile, outpath)
+