private void ShowPrintPreview() { // We have to clone the FlowDocument before we use different pagination settings for the export. RichTextDocument document = (RichTextDocument)fileService.ActiveDocument; FlowDocument clone = document.CloneContent(); clone.ColumnWidth = double.PositiveInfinity; // Create a package for the XPS document MemoryStream packageStream = new MemoryStream(); package = Package.Open(packageStream, FileMode.Create, FileAccess.ReadWrite); // Create a XPS document with the path "pack://temp.xps" PackageStore.AddPackage(new Uri(PackagePath), package); xpsDocument = new XpsDocument(package, CompressionOption.SuperFast, PackagePath); // Serialize the XPS document XpsSerializationManager serializer = new XpsSerializationManager(new XpsPackagingPolicy(xpsDocument), false); DocumentPaginator paginator = ((IDocumentPaginatorSource)clone).DocumentPaginator; serializer.SaveAsXaml(paginator); // Get the fixed document sequence FixedDocumentSequence documentSequence = xpsDocument.GetFixedDocumentSequence(); // Create and show the print preview view PrintPreviewViewModel printPreviewViewModel = printPreviewViewModelFactory.CreateExport().Value; printPreviewViewModel.Document = documentSequence; previousView = shellViewModel.ContentView; shellViewModel.ContentView = printPreviewViewModel.View; shellViewModel.IsPrintPreviewVisible = true; printPreviewCommand.RaiseCanExecuteChanged(); }
public PrintPreviewWindow(PatientRecordDetailsModel patient) { InitializeComponent(); PrintPreviewViewModel printPreviewViewModel = new PrintPreviewViewModel(patient); PrintPreview.DataContext = printPreviewViewModel; }
private void ShowPrintPreview() { PrintPreviewViewModel printPreviewViewModel = printPreviewViewModelFactory.CreateExport().Value; printPreviewViewModel.Document = (RichTextDocument)fileService.ActiveDocument; previousView = shellViewModel.ContentView; shellViewModel.ContentView = printPreviewViewModel.View; shellViewModel.IsPrintPreviewVisible = true; printPreviewCommand.RaiseCanExecuteChanged(); }
public void ExecutePrintCommand() { MockPrintPreviewView printPreviewView = new MockPrintPreviewView(); ShellService shellService = new ShellService(); MockDocumentPaginatorSource document = new MockDocumentPaginatorSource(); PrintPreviewViewModel printPreviewViewModel = new PrintPreviewViewModel(printPreviewView, shellService, document); Assert.AreEqual(document, printPreviewViewModel.Document); printPreviewViewModel.PrintCommand.Execute(null); Assert.IsTrue(printPreviewView.PrintCalled); }
public PrintPreviewView(PrintPreviewViewModel viewModel) { InitializeComponent(); _viewModel = viewModel; _viewModel.Close = this.Close; this.DataContext = viewModel; this.Loaded += PrintPreviewWindow_Loaded; this.Unloaded += PrintPreviewWindow_Unloaded; }
protected IEnumerable <IResult> Preview(string name, BaseDocument doc) { var docSettings = doc.Settings; if (docSettings != null) { yield return(new DialogResult(new SimpleSettings(docSettings))); } var printResult = new PrintResult(name, doc); var model = new PrintPreviewViewModel(printResult); yield return(new DialogResult(model, fullScreen: true)); }
public static void PrintPicture(BitmapImage bitmapImage) { var config = new PrintConfig() { DataSource = bitmapImage, DataSourceType = DataSourceTypeDefine.Image }; var viewModel = new PrintPreviewViewModel(config); var view = new PrintPreviewView(viewModel); view.ShowDialog(); }
public static void PrintDataTable(DataTable dt) { var config = new PrintConfig() { DataSource = dt, DataSourceType = DataSourceTypeDefine.DataTable }; var viewModel = new PrintPreviewViewModel(config); var view = new PrintPreviewView(viewModel); view.ShowDialog(); }
private void ShowPrintPreview() { // Get the page size from the print dialog. var printDialog = new PrintDialog(); var pageSize = new Size(printDialog.PrintableAreaWidth, printDialog.PrintableAreaHeight); // Convert document into FixedDocument. var fixedDocument = TextEditor.CreateFixedDocument(pageSize, DisplayName); var viewModel = new PrintPreviewViewModel { PrintDocument = fixedDocument }; // Show print preview dialog. _windowService.ShowDialog(viewModel); }
private void ShowPrintPreview() { if (TextEditor == null) { return; } Logger.Info(CultureInfo.InvariantCulture, "Showing print preview for Output window (selected view: \"{0}\").", SelectedView); // Get the page size from the print dialog. PrintDialog printDialog = new PrintDialog(); var pageSize = new Size(printDialog.PrintableAreaWidth, printDialog.PrintableAreaHeight); // Convert document into FixedDocument. var fixedDocument = TextEditor.CreateFixedDocument(pageSize, DisplayName); var printPreview = new PrintPreviewViewModel { PrintDocument = fixedDocument }; // Show print preview dialog. _windowService.ShowDialog(printPreview); }
public static void PrintControl(FrameworkElement element) { //将控件转化为图片... var rt = new RenderTargetBitmap((int)element.ActualWidth, (int)element.ActualHeight, 96, 96, PixelFormats.Pbgra32); rt.Render(element); var encoder = new PngBitmapEncoder(); encoder.Frames.Add(BitmapFrame.Create(rt)); var bitmapImage = new BitmapImage(); using (Stream stream = new MemoryStream()) { encoder.Save(stream); stream.Seek(0, SeekOrigin.Begin); stream.Position = 0; bitmapImage.BeginInit(); bitmapImage.CacheOption = BitmapCacheOption.OnLoad; bitmapImage.StreamSource = stream; bitmapImage.EndInit(); } var config = new PrintConfig() { DataSource = bitmapImage, DataSourceType = DataSourceTypeDefine.Image }; var viewModel = new PrintPreviewViewModel(config); var view = new PrintPreviewView(viewModel); view.ShowDialog(); }
private void ShowPrintPreview() { // We have to clone the FlowDocument before we use different pagination settings for the export. RichTextDocument document = fileService.ActiveDocument as RichTextDocument; FlowDocument clone = document.CloneContent(); clone.ColumnWidth = double.PositiveInfinity; // Create a package for the XPS document MemoryStream packageStream = new MemoryStream(); package = Package.Open(packageStream, FileMode.Create, FileAccess.ReadWrite); // Create a XPS document with the path "pack://temp.xps" PackageStore.AddPackage(new Uri(PackagePath), package); xpsDocument = new XpsDocument(package, CompressionOption.SuperFast, PackagePath); // Serialize the XPS document XpsSerializationManager serializer = new XpsSerializationManager(new XpsPackagingPolicy(xpsDocument), false); DocumentPaginator paginator = ((IDocumentPaginatorSource)clone).DocumentPaginator; serializer.SaveAsXaml(paginator); // Get the fixed document sequence FixedDocumentSequence documentSequence = xpsDocument.GetFixedDocumentSequence(); // Create and show the print preview view printPreviewViewModel = new PrintPreviewViewModel( container.GetExportedValue<IPrintPreviewView>(), shellService, documentSequence); printPreviewViewModel.CloseCommand = closePrintPreviewCommand; shellViewModel.ContentView = printPreviewViewModel.View; }