Пример #1
0
        /// <summary>
        /// Shows advanced printer settings
        /// </summary>
        /// <param name="handle">window handle</param>
        /// <param name="printerName">printer name</param>
        /// <param name="settings">settings</param>
        public void ShowAdvancedPrinterSettings(IntPtr handle, string printerName, ref System.Drawing.Printing.PrinterSettings settings)
        {
            // check the printer settings
            if (settings == null || !settings.IsValid)
            {
                LogHelper.LogDebug("Invalid printer settings for " + printerName);
                return;
            }

            LogHelper.LogDebug();

            try
            {
                // create new printer settings
                System.Drawing.Printing.PrinterSettings ps = new System.Drawing.Printing.PrinterSettings();

                // set new settings as an old one
                ps = settings;

                // show printer settings window as dialog for the current window
                if (PrintDialogHelper.EditPrinterSettings(ps, handle) == System.Windows.Forms.DialogResult.OK)
                {
                    LogHelper.LogDebug("Printer settings changed");

                    // save changed printer settings
                    settings = ps;
                }
            }
            catch (Exception ex)
            {
                WPFNotifier.Error(ex);
            }
        }
Пример #2
0
        /// <summary>
        /// Shows advanced printer settings
        /// </summary>
        /// <param name="owner"></param>
        /// <param name="printerName"></param>
        public void ShowAdvancedPrinterSettings(Form owner, string printerName, ref PrinterSettings settings)
        {
            if (settings == null || !settings.IsValid)
            {
                LogHelper.LogDebug("Invalid printer settings for " + printerName);
                return;
            }

            LogHelper.LogDebug();

            try
            {
                PrinterSettings ps = new PrinterSettings();
                ps = settings;

                // show printer settings
                if (PrintDialogHelper.EditPrinterSettings(ps, owner.Handle) == DialogResult.OK)
                {
                    // save printer settings
                    LogHelper.LogDebug("Printer settings changed");
                    settings = ps;
                }
            }
            catch (Exception ex)
            {
                Notifier.Error(ex);
            }
        }
Пример #3
0
        public PrintView()
        {
            InitializeComponent();

            var printDialogHelper = new PrintDialogHelper();

            printDialogHelper.PrintVisual(root);
        }
Пример #4
0
        public static bool PrintTextWithDialog(RichTextBox box, out List <Exception> exceptions, ObservableCollection <Color> predefColors, ref PrintSettings settings, string defaultFilename, ObservableCollection <Character> characters)
        {
            exceptions = new List <Exception>();

            var flowDocument = box.Document.CopyWithTickness(new Thickness(0));

            flowDocument.HidePageBreaker();


            var print = new PrintDialogHelper(flowDocument, characters, settings.FontFamily, settings.FontSize, settings.UseCharacters)
            {
                Owner            = MainWindow.Global,
                CanUseWaterMark  = settings.Watermark != null,
                CanUseCharacters = characters != null && characters.Any(),
                PageCountElement = settings.PageCountElement,
                PredefinedColors = predefColors,
                BackgroundBrush  = settings.BackgroundBrush,
                FontSizeInc      = settings.FontSizeModifier,
                KeepOldNumbering = settings.UseOldNumbering,
                IsBlackAndWhite  = settings.UseBlackAndWhite,
                UseWaterMark     = settings.UseWatermark,
                UseCharacters    = settings.UseCharacters,
                ShowPageCount    = settings.ShowPageNumber
            };

            print.ShowDialog();

            if (print.Result == MessageBoxResult.Cancel)
            {
                return(false);
            }

            settings.UseBlackAndWhite = print.IsBlackAndWhite;
            settings.ShowPageNumber   = print.ShowPageCount;
            settings.UseOldNumbering  = print.KeepOldNumbering;
            settings.UseWatermark     = print.UseWaterMark;
            settings.UseCharacters    = print.UseCharacters;
            settings.PageCountElement = print.PageCountElement;
            settings.BackgroundBrush  = print.BackgroundBrush;
            settings.FontSizeModifier = print.FontSizeInc;

            if (print.Result == MessageBoxResult.Yes)
            {
                return(true);
            }

            var    defaultName = !string.IsNullOrEmpty(defaultFilename)? defaultFilename: MainWindow.GetDefaultName(box.GetText());
            string pdfFilename = GetFileName(defaultName);

            settings.PdfName  = pdfFilename;
            settings.Document = print.Document;

            settings.From = print.From;
            settings.Till = print.Till;

            UiServices.SetBusyState();


            exceptions = PrintText(settings);
            settings.PageCountElement = print.PageCountElement;

            return(!exceptions.Any());
        }