Можно ли отключить печать страницы x из y в диалоговом окне? - PullRequest
27 голосов
/ 01 апреля 2011

Я занимаюсь разработкой приложения для полноэкранного киоска с использованием c #.Мне нужно распечатать билеты и квитанции.Я использую класс PrintDocument для печати.Принтер печатает отлично, но мне нужно отключить всплывающее диалоговое окно, отображаемое во время печати.

screenshot

Я слышал, что его можно отключить с помощью принтеров и факсов на панели управления, но на панели управления нет принтеров и факсов.

Могу ли я отключить показанное диалоговое окно?Если бы я мог, как я могу это сделать?

Ответы [ 4 ]

52 голосов
/ 01 апреля 2011

Я полагаю, что установка PrintDocument PrintController на StandardPrintController должна решить эту проблему.

PrintDocument printDocument = new PrintDocument();
PrintController printController = new StandardPrintController();
printDocument.PrintController = printController;

Надеюсь, это поможет некоторым.

5 голосов
/ 05 марта 2012

Отличный вопрос и ответ. Вот версия VB.Net, гуглящая по vb.net, которая не дала никаких значимых результатов.

  Dim printDocument As New System.Drawing.Printing.PrintDocument
  Dim printController As New System.Drawing.Printing.StandardPrintController
  printDocument.PrintController = printController
1 голос
/ 10 января 2018

Windows 10, 8, 7 и Server 2012 Примечание. Этот параметр недоступен в домашней версии Windows.

Нажмите и удерживайте клавишу Windows, затем нажмите «R», чтобы открыть WindowsЗапустить диалоговое окно.Введите «printmanagement.msc», затем нажмите «Enter».Разверните «Серверы печати», затем щелкните правой кнопкой мыши имя компьютера и выберите «Свойства сервера печати».Выберите вкладку «Дополнительно».Снимите флажок «Показывать информационные уведомления для локальных принтеров» и «Показывать информационные уведомления для сетевых принтеров».

0 голосов
/ 13 ноября 2018

Это сработало для меня. Вы можете попробовать это

PrintDocument document = new PrintDocument();
        PrintDialog dialog = new PrintDialog();
        PrintPreviewDialog printPreviewDialog1 = new PrintPreviewDialog();
        private  Font printFont;
        private string stringToPrint;
      //  private int linesPerPage=9;
        private Font printFont1;
        QRCode qrCode1;
        private string stringToPrint1;
        private string databasePath;
        int i=1;
        public Form1()
        {
            InitializeComponent();


            //document.DefaultPageSettings.PrinterSettings.PrinterName = "GODEX500";
            //  document.DefaultPageSettings.Landscape = true;
            document.DefaultPageSettings.PaperSize = new PaperSize("75 x50 mm", 300, 200);
            document.DefaultPageSettings.Margins = new Margins(1, 1, 1, 1);
            printFont = new Font("Arial", 10);
            // printFont1 = new Font("NewBarcodeFont", 12);

            //    document= new Font("GODEX-NewBarcodeFont", 12, FontStyle.Regular);
            // document.OriginAtMargins = true;
            //This PrintController worked fine and not showing printing this document using window
            PrintController printController = new StandardPrintController();
            document.PrintController = printController;
            document.PrintPage += new PrintPageEventHandler(document_PrintPage);

        }
...