<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def printout(self, print_area, print_data):
 """Print out print area See: http://aspn.activestate.com/ASPN/Mail/Message/wxpython-users/3471083 """


        print_info = \
            self.main_window.interfaces.get_cairo_export_info("Print")

        if print_info is None:
            # Dialog has been canceled
            return

        pdd = wx.PrintDialogData(print_data)
        printer = wx.Printer(pdd)

        printout = Printout(self.grid, print_data, print_info)

        if printer.Print(self.main_window, printout, True):
            self.print_data = \
                wx.PrintData(printer.GetPrintDialogData().GetPrintData())

        printout.Destroy()