'Method to generate the basic look of a page.
It is a callback method and will not be called directly'

def pageHeader(self, canvas, doc):

    canvas.saveState()
    if (self.logo and os.path.exists(self.logo)):
        im = Image.open(self.logo)
        (iwidth, iheight) = im.size
        height = (1.0 * inch)
        width = (iwidth * (height / iheight))
        canvas.drawImage(self.logo, inch, (doc.pagesize[1] - (1.2 * inch)), width=width, height=height)
    if (self.headerBanner and os.path.exists(self.headerBanner)):
        im = Image.open(self.headerBanner)
        (iwidth, iheight) = im.size
        height = (0.75 * inch)
        width = (iwidth * (height / iheight))
        canvas.drawImage(self.headerBanner, (3 * inch), (doc.pagesize[1] - (0.95 * inch)), width=width, height=height)
    canvas.setFont('Helvetica-Bold', 14)
    canvas.drawCentredString((doc.pagesize[0] / 2.0), (doc.pagesize[1] - (1.3 * inch)), self.title)
    canvas.setFont('Helvetica-Bold', 8)
    now = S3DateTime.datetime_represent(datetime.utcnow(), utc=True)
    canvas.drawCentredString((doc.pagesize[0] - (1.5 * inch)), (doc.pagesize[1] - (1.3 * inch)), now)
    canvas.restoreState()
