找回密码
 立即注册

QQ登录

只需一步,快速开始

asia

注册会员

7

主题

19

帖子

68

积分

注册会员

积分
68
asia
注册会员   /  发表于:2021-11-29 09:50  /   查看:1808  /  回复:8
1金币
本帖最后由 Crystal.Li 于 2021-11-29 15:17 编辑

各位 ,在之前别人的帖子里找到代码指定打印机,代码是:设置rpt.document.printer.name="";

我用的是WPF (C# 开发)
好像无法使用,
       PageDocument rptd = null;
...........(省去具体代码)
   var viewr = this.ViewCore.GetViewer();
viewr.LoadDocument(rptd);
  rptd.LocateDataSource += document_LocateDataSource;

  rptd.document.printer.name="";     这句不行 ,rptd 没有 document 属性,请大神指点,谢谢。




最佳答案

查看完整内容

你好,刚试了一下, var printname1 = "HP LaserJet MFP M132nw(5CB726)"; if (rptd.Printer != null) { rptd.Printer.PrinterName = printname; } 这段代码虽然过期但是好像是可以用的,昨天可能输入了一个空格进去 ,但是有个问题:、 调用打印: var b = rptd.Print(); 弹出一个打印弹出框,可以直接打印吗?不弹出这个框 ...

8 个回复

倒序浏览
最佳答案
最佳答案
asia
注册会员   /  发表于:2021-11-29 09:50:30
来自 8#
本帖最后由 asia 于 2021-11-30 10:02 编辑
Bella.Yuan 发表于 2021-11-29 17:54
您好,参考下面方式,要保证您的打印机的名称是正确的。

你好,刚试了一下,    var printname1 = "HP LaserJet MFP M132nw(5CB726)";
                if (rptd.Printer != null)
                {
                    rptd.Printer.PrinterName = printname;
                }
               
这段代码虽然过期但是好像是可以用的,昨天可能输入了一个空格进去 ,但是有个问题:、
调用打印: var b = rptd.Print();
弹出一个打印D:\222.png弹出框,可以直接打印吗?不弹出这个框

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
James.Lv讲师达人认证 悬赏达人认证 活字格认证 Wyn认证
超级版主   /  发表于:2021-11-29 11:25:35
2#
您好,您直接rptd.printer.name=""试试
回复 使用道具 举报
asia
注册会员   /  发表于:2021-11-29 13:15:18
3#

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
asia
注册会员   /  发表于:2021-11-29 13:16:01
4#

   var viewr = this.ViewCore.GetViewer();
                viewr.LoadDocument(rptd);
                rptd.LocateDataSource += document_LocateDataSource;
                var printname = "HP LaserJet MFP M132nw(5CB726)";
                if (rptd.Printer != null)
                {
                    rptd.Printer.PrinterName = printname;
                }

            var b = rptd.Print();

  b=false

回复 使用道具 举报
asia
注册会员   /  发表于:2021-11-29 13:17:18
5#
asia 发表于 2021-11-29 13:16
var viewr = this.ViewCore.GetViewer();
                viewr.LoadDocument(rptd);
             ...

代码是这样的,但是提示这个  rptd.Printer.PrinterName = printname; 已经过时 ,建议移除 , 并且运行时显示对访问打印机设置无效
回复 使用道具 举报
Bella.YuanWyn认证
超级版主   /  发表于:2021-11-29 17:54:36
6#
asia 发表于 2021-11-29 13:17
代码是这样的,但是提示这个  rptd.Printer.PrinterName = printname; 已经过时 ,建议移除 , 并且运行 ...

您好,参考下面方式,要保证您的打印机的名称是正确的。
  1. <div>rpt.Document.Printer.PrinterSettings.PrinterName = "XXX";</div><div>rpt.Document.Printer.Print();</div>
复制代码


回复 使用道具 举报
asia
注册会员   /  发表于:2021-11-30 09:50:45
7#
Bella.Yuan 发表于 2021-11-29 17:54
您好,参考下面方式,要保证您的打印机的名称是正确的。

我用的是WPF (C# 开发)
好像无法使用,
       PageDocument rptd = null;
...........(省去具体代码)
   var viewr = this.ViewCore.GetViewer();
viewr.LoadDocument(rptd);
  rptd.LocateDataSource += document_LocateDataSource;

  rptd.document.printer.name="";     这句不行 ,rptd 没有 document 属性

回复 使用道具 举报
James.Lv讲师达人认证 悬赏达人认证 活字格认证 Wyn认证
超级版主   /  发表于:2021-11-30 10:32:32
9#
asia 发表于 2021-11-30 10:01
你好,刚试了一下,    var printname1 = "HP LaserJet MFP M132nw(5CB726)";
                if (rptd ...

您好,这个您可以设置print的参数,具体可以参考这个文档
https://gcdn.grapecity.com.cn/fo ... &extra=page%3D5
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部