KearneyKang 发表于 2018-7-31 17:45:40

如何代码端设置默认打印机

本帖最后由 KearneyKang 于 2020-11-26 17:11 编辑

在C/S端进行桌面端应用开发时,有时静默打印的时候需要设置默认的打印机,这样点击打印就会直接找到对应的打印机,进行打印。
打印的核心代码private void tsbPrint_Click(object sender, EventArgs e)
      {
            string file_name = @"..\..\RdlReport1.rdlx";
            GrapeCity.ActiveReports.PageReport pageReport = new GrapeCity.ActiveReports.PageReport(new System.IO.FileInfo(file_name));
            pageReport.Document.LocateDataSource += new LocateDataSourceEventHandler(LocateData);
            pageReport.Document.Printer.DefaultPageSettings.Margins.Bottom = 0;
            pageReport.Document.Printer.DefaultPageSettings.Margins.Left = 0;
            pageReport.Document.Printer.DefaultPageSettings.Margins.Right = 0;
            pageReport.Document.Printer.DefaultPageSettings.Margins.Top = 0;         
            pageReport.Document.Printer.PaperSize.RawKind = 0;
            pageReport.Document.Printer.PaperSize.Width = 14;
            pageReport.Document.Printer.PaperSize.Height = 20;
            pageReport.Document.Printer.PrinterName = "打印机名";
            GrapeCity.ActiveReports.PrintExtension.Print(_document, true, true);

         }其中客户设置打印纸张的大小,左右边距。设置默认打印机的核心代码:pageReport.Document.Printer.PrinterName = "****";如果连接的是网络打印机,有时会存在找不到的情况,因此对网络打印机的命名,最好采取如下的命名方式 。如:“\\xa-printer.Net\打印机名”

netstone 发表于 2020-7-8 09:03:11

请教,这个例子是否只使用与 pageReport,RDL 报表也可以这样实现静默打印吗?我们一个项目中用这个例子输出,打印机上只能输出第一页会是什么原因?多谢。

KearneyKang 发表于 2020-7-8 10:16:29

你好,RDL报表也是可以的了,你说的只打印第一页的问题,还需要根据你的具体代码来分析
页: [1]
查看完整版本: 如何代码端设置默认打印机