You must implement a subclass of UIKit.UIPrintPageRenderer and assign the instance of your renderer to the UIPrintInteractionController.PrintPageRenderer property.
C# Example
// Get a reference to the singleton iOS printing concierge UIPrintInteractionController printController = UIPrintInteractionController.SharedPrintController; // Instruct the printing concierge to use our custom UIPrintPageRenderer subclass when printing this job printController.PrintPageRenderer = new MyPrintPageRenderer (myData); // Ask for a print job object and configure its settings to tailor the print request UIPrintInfo info = UIPrintInfo.PrintInfo; // B&W or color, normal quality output for mixed text, graphics, and images info.OutputType = UIPrintInfoOutputType.General; // Select the job named this in the printer queue to cancel our print request. info.JobName = "Recipes"; // Instruct the printing concierge to use our custom print job settings. printController.PrintInfo = info; // Present the standard iOS Print Panel that allows you to pick the target Printer, number of pages, double-sided, etc. printController.Present (true, PrintingCompleted);