public static void PrintDialog(this TextEditor textEditor, string title) { Printing.mDocumentTitle = title; Printing.InitPageSettings(); System.Windows.Controls.PrintDialog printDialog = new System.Windows.Controls.PrintDialog(); printDialog.PrintQueue = mPrintQueue; if (mPageSettings.Landscape) { Printing.mPrintTicket.PageOrientation = PageOrientation.Landscape; } printDialog.PrintTicket = mPrintTicket; printDialog.PrintQueue.DefaultPrintTicket.PageOrientation = mPrintTicket.PageOrientation; if (printDialog.ShowDialog() == true) { Printing.mPrintQueue = printDialog.PrintQueue; Printing.mPrintTicket = printDialog.PrintTicket; printDialog.PrintDocument(CreateDocumentPaginatorToPrint(textEditor), "PrintJob"); } }
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 System.Windows.Controls.PrintDialog to print the TextEditor.Document. /// </summary> public static void PrintDialog(this TextEditor textEditor) { Printing.PrintDialog(textEditor, ""); }