Ejemplo n.º 1
0
        /// <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;
        }
Ejemplo n.º 2
0
        /// <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;
        }
Ejemplo n.º 3
0
        /// <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;
        }