 
 // MARK: - MWTPageSize struct
 
-let MWTPrintModuleBasePrintableMargin: CGFloat = CGFloat(36.0)
+let SFA4PrintModuleBasePrintableMarginTopBottom: CGFloat = CGFloat(36.0)
+let SFA4PrintModuleBasePrintableMarginLeftRight: CGFloat = CGFloat(20.0)
 
 struct MWTPageSize {
     let width: CGFloat
     let height: CGFloat
     
     // Print margins
-    var topMargin: CGFloat = MWTPrintModuleBasePrintableMargin
-    var rightMargin: CGFloat = MWTPrintModuleBasePrintableMargin
-    var bottomMargin: CGFloat = MWTPrintModuleBasePrintableMargin
-    var leftMargin: CGFloat = MWTPrintModuleBasePrintableMargin
+    var topMargin: CGFloat = SFA4PrintModuleBasePrintableMarginTopBottom
+    var rightMargin: CGFloat = SFA4PrintModuleBasePrintableMarginLeftRight
+    var bottomMargin: CGFloat = SFA4PrintModuleBasePrintableMarginTopBottom
+    var leftMargin: CGFloat = SFA4PrintModuleBasePrintableMarginLeftRight
     
     // Init
     

    }
    
    // Set context on new empty page to start drawing table report and draw table header
    func beginTableReport() throws {
        guard delegate != nil else { throw MWTPrintModuleError.DelegateIsMissing }
        
        UIGraphicsBeginPDFPageWithInfo(CGRectMake(0, 0, printablePageDetails.width, printablePageDetails.height), nil)
        
        do {
            try self.drawReportTableHeader()
            
        } catch MWTPrintModuleError.DelegateIsMissing {
            throw MWTPrintModuleError.DelegateIsMissing
            
        } catch let error1 {
            throw MWTPrintModuleError.GenericError
        }
    }
    

        UIGraphicsBeginPDFPageWithInfo(CGRectMake(0, 0, printablePageDetails.width, printablePageDetails.height), nil)
        self.delegate?.drawFrontPage(self, printablePageDetails: printablePageDetails)
        
        if !compact {
            printJobDetails.currentPage++
            printJobDetails.currentPosition = printJobDetails.pageOrigin
        }
        
        printJobDetails.currentRowPosition = printJobDetails.rowOrigin
    }
    
    // Draw summary page
    func drawSummaryPage(compact: Bool) throws {
        guard delegate != nil else { throw SFA4PrintModuleError.DelegateIsMissing }
        
        if !compact {
            printJobDetails.currentPosition = printJobDetails.pageOrigin
            
            UIGraphicsBeginPDFPageWithInfo(CGRectMake(0, 0, printablePageDetails.width, printablePageDetails.height), nil)
            self.delegate?.drawSummaryPage(self, printablePageDetails: printablePageDetails)
            
            printJobDetails.currentPage++
            printJobDetails.currentPosition = printJobDetails.pageOrigin
            printJobDetails.currentRowPosition = printJobDetails.rowOrigin
            
            return
        }
        
        // compact mode
        let currentCellHeight: CGFloat
        let currentSpacing: CGFloat
        
        if let datasourceObj = self.datasource {
            currentCellHeight = datasourceObj.tableReportCellHeight(self)
            currentSpacing = datasourceObj.tableReportItemSpacing(self)
        } else {
            currentCellHeight = self.tableItemCellHeight
            currentSpacing = self.tableItemSpacing
        }
        
        self.printJobDetails.currentPosition += currentCellHeight + currentSpacing
        self.delegate?.drawSummaryPage(self, printablePageDetails: printablePageDetails)
    }
    
    func addPage() {
        printJobDetails.currentPage++
        printJobDetails.currentPosition = printJobDetails.pageOrigin
        printJobDetails.currentRowPosition = printJobDetails.rowOrigin
        
        UIGraphicsBeginPDFPageWithInfo(CGRectMake(0, 0, printablePageDetails.width, printablePageDetails.height), nil)
    }
    
    // MARK: --- Table report formatting
