#! C:/Users/Administrator/AppData/Local/Programs/Python/Python38/python.exe
print("Content-Type: text/plain;charset=utf-8\n\n")
import datetime
import cgi
import cgitb
cgitb.enable()
import sys,os
from reportlab.pdfgen import canvas
from reportlab.lib.pagesizes import letter
import PyPDF2
from PyPDF2 import PdfFileWriter,PdfFileReader

def removeoldfile():
    try:
        os.remove('c:/Apache24/htdocs/output.pdf')
    except OSError:
        pass

def mktemplate(agentnum,tdict):
    c = canvas.Canvas('template.pdf',pagesize=letter)
    c.drawString(100,165,agentnum)
    if 'phone' in tdict:
        c.drawString(420,153,tdict['phone'])
    if 'fax' in tdict:
        c.drawString(410,134,tdict['fax'])
    if 'agentname' in tdict:
        c.drawString(300,170,tdict['agentname'])
    if 'email' in tdict:
        c.drawString(375,80,tdict['email'])
    if 'addr1' in tdict:
        c.drawString(370,115,tdict['addr1'])
    #if 'addr2' in tdict:
    #    c.drawString(400,105,tdict['addr2'])
    if 'city' in tdict:
        c.drawString(318,97,tdict['city'])
    if 'state' in tdict:
        c.drawString(435,97,tdict['state'])
    if 'zip' in tdict:
        c.drawString(520,97,tdict['zip'])
    c.save()

def showpdf():
    rc = '<html><head>'
    rc = rc + '<META HTTP-EQUIV="Refresh" CONTENT="3; url=http://localhost/output.pdf">'
    rc = rc + '</head><body>Reloading</body></html>'
    print (rc)

def watermark(input_pdf,output_pdf,watermark_pdf):
    watermark = PdfFileReader(watermark_pdf)
    watermark_page = watermark.getPage(0)

    pdf = PdfFileReader(input_pdf)
    pdf_writer = PdfFileWriter()
    i = 0
    for page in range(pdf.getNumPages()):
        i = i + 1
        pdf_page = pdf.getPage(page)
        if i == 7:
            pdf_page.mergePage(watermark_page)
        pdf_writer.addPage(pdf_page)

    with open(output_pdf, 'wb') as fh:
        pdf_writer.write(fh)
    showpdf()




if __name__ == '__main__':
    removeoldfile();
    tdict = {}
    tform = cgi.FieldStorage()
    for item in tform:
        tdict[item] = tform.getvalue(item)
    agentnum = '.'
    if 'agentnum' in tdict:
        agentnum = tdict['agentnum']
    mktemplate(agentnum,tdict)
    watermark(input_pdf = 'c:/Apache24/htdocs/apps/ms/ant.pdf',
              output_pdf = 'c:/Apache24/htdocs/output.pdf',
              watermark_pdf = 'c:/Apache24/cgi-bin/stamp/msapp/template.pdf')

