async void OnPrintDocumentPrintTaskRequested(PrintManager sender, PrintTaskRequestedEventArgs args) { PrintTaskRequestedDeferral deferral = args.Request.GetDeferral(); // Obtain PrintTask PrintTask printTask = args.Request.CreatePrintTask("Finger Paint", OnPrintTaskSourceRequested); // Probably set orientation to landscape PrintTaskOptionDetails optionDetails = PrintTaskOptionDetails.GetFromPrintTaskOptions(printTask.Options); PrintOrientationOptionDetails orientation = optionDetails.Options[StandardPrintTaskOptions.Orientation] as PrintOrientationOptionDetails; bool bitmapIsLandscape = false; await border.Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () => { BitmapSource bitmapSource = getBitmap(); bitmapIsLandscape = bitmapSource.PixelWidth > bitmapSource.PixelHeight; }); orientation.TrySetValue(bitmapIsLandscape ? PrintOrientation.Landscape : PrintOrientation.Portrait); deferral.Complete(); }
void OnPrintManagerPrintTaskRequested(PrintManager sender, PrintTaskRequestedEventArgs args) { // Create PrintTask PrintTask printTask = args.Request.CreatePrintTask("Monthly Planner", OnPrintTaskSourceRequested); // Set orientation to landscape PrintTaskOptionDetails optionDetails = PrintTaskOptionDetails.GetFromPrintTaskOptions(printTask.Options); PrintOrientationOptionDetails orientation = optionDetails.Options[StandardPrintTaskOptions.Orientation] as PrintOrientationOptionDetails; orientation.TrySetValue(PrintOrientation.Landscape); }