/// <summary> /// Invokes a PrintEngine.PrintPreviewDialog to print preview the TextEditor.Document with specified title. /// </summary> public static void PrintPreviewDialog(this TextEditor textEditor, string title) { Printing.mDocumentTitle = title; Printing.InitPageSettings(); PrintPreviewDialog printPreview = new PrintEngine.PrintPreviewDialog(); printPreview.DocumentViewer.FitToMaxPagesAcross(1); printPreview.DocumentViewer.PrintQueue = mPrintQueue; if (mPageSettings.Landscape) { Printing.mPrintTicket.PageOrientation = PageOrientation.Landscape; } printPreview.DocumentViewer.PrintTicket = mPrintTicket; printPreview.DocumentViewer.PrintQueue.DefaultPrintTicket.PageOrientation = mPrintTicket.PageOrientation; printPreview.LoadDocument(CreateDocumentPaginatorToPrint(textEditor)); // this is stupid, but must be done to view a whole page: DocumentViewer.FitToMaxPagesAcrossCommand.Execute("1", printPreview.DocumentViewer); // we never get a return code 'true', since we keep the DocumentViewer open, until user closes the window printPreview.ShowDialog(); mPrintQueue = printPreview.DocumentViewer.PrintQueue; mPrintTicket = printPreview.DocumentViewer.PrintTicket; }
/// <summary> /// Invokes a PrintEngine.PrintPreviewDialog to print preview the TextEditor.Document with specified title. /// </summary> public static void PrintPreviewDialog(this TextEditor textEditor, string title, bool withHighlighting) { PrintSettings settings = textEditor.Tag as PrintSettings; if (settings == null) { settings = new PrintSettings(); textEditor.Tag = settings; } settings.DocumentTitle = (title != null) ? title : String.Empty; PrintEngine.PrintPreviewDialog printPreview = new PrintEngine.PrintPreviewDialog(); printPreview.DocumentViewer.FitToMaxPagesAcross(1); printPreview.DocumentViewer.PrintQueue = settings.PrintQueue; if (settings.PageSettings.Landscape) { settings.PrintTicket.PageOrientation = PageOrientation.Landscape; } printPreview.DocumentViewer.PrintTicket = settings.PrintTicket; printPreview.DocumentViewer.PrintQueue.DefaultPrintTicket.PageOrientation = settings.PrintTicket.PageOrientation; printPreview.LoadDocument(CreateDocumentPaginatorToPrint(textEditor, withHighlighting)); // this is stupid, but must be done to view a whole page: DocumentViewer.FitToMaxPagesAcrossCommand.Execute("1", printPreview.DocumentViewer); // we never get a return code 'true', since we keep the DocumentViewer open, until user closes the window printPreview.ShowDialog(); settings.PrintQueue = printPreview.DocumentViewer.PrintQueue; settings.PrintTicket = printPreview.DocumentViewer.PrintTicket; }
/// <summary> /// Invokes a PrintEngine.PrintPreviewDialog to print preview the TextEditor.Document with specified title. /// </summary> public static void PrintPreviewDialog(this TextEditor textEditor, string title, bool withHighlighting) { m_DocumentTitle = (title != null) ? title : String.Empty; InitPageSettings(); PrintEngine.PrintPreviewDialog printPreview = new PrintEngine.PrintPreviewDialog(); printPreview.DocumentViewer.FitToMaxPagesAcross(1); printPreview.DocumentViewer.PrintQueue = m_PrintQueue; if (m_PageSettings.Landscape) { m_PrintTicket.PageOrientation = PageOrientation.Landscape; } printPreview.DocumentViewer.PrintTicket = m_PrintTicket; printPreview.DocumentViewer.PrintQueue.DefaultPrintTicket.PageOrientation = m_PrintTicket.PageOrientation; printPreview.LoadDocument(CreateDocumentPaginatorToPrint(textEditor, withHighlighting)); // this is stupid, but must be done to view a whole page: DocumentViewer.FitToMaxPagesAcrossCommand.Execute("1", printPreview.DocumentViewer); // we never get a return code 'true', since we keep the DocumentViewer open, until user closes the window printPreview.ShowDialog(); m_PrintQueue = printPreview.DocumentViewer.PrintQueue; m_PrintTicket = printPreview.DocumentViewer.PrintTicket; }