许可优化
许可优化
产品
产品
解决方案
解决方案
服务支持
服务支持
关于
关于
软件库
当前位置:服务支持 >  软件文章 >  CAD直接打印不弹出打印对话框的解决方法

CAD直接打印不弹出打印对话框的解决方法

阅读数 44
点赞 0
article_banner


主要用到函数说明:MxDrawXCustomFunction::Mx_Print

直接打印,不出现打印对话框,详细说明如下:


参数说明
double ptLBx打印的范围左下角x
double ptLBy打印的范围左下角y
double ptRTx打印的范围右上角x
double ptRTy打印的范围右上角y
LPCTSTR pszPrintName打印机名,如果传为空,取系统默认打印机
LPCTSTR pszPaperName打印的图纸名,如果传为空,取系统默认打印机设置
LONG iPrintDirection打印的方向,2 为横向,1为纵向,默认取1
LONG iLeftMargin打印的页边的左边距离,如果为-1,取打印机默认的页边距
LONG iRightMargin打印的页边的右边距离,如果为-1,取打印机默认的页边距
LONG iTopMargin打印的页边的上边距离,如果为-1,取打印机默认的页边距
LONG iBottomMargin打印的页边的下边距离,如果为-1,取打印机默认的页边距
LPCTSTR pszLayoutName打印的布局,为NULL就是模型Model中的内容
LPCTSTR pszPrintConfig打印配制,暂没有使用
LPCTSTR pszDocName打印的文档名称,在用pdf虚拟打印机时,指定打印的pdf文件的缺省文件名
LONG lIsPrintLineWdith是否打印线宽,默认值为1,表示打印,传0表示不打印
iFlagpRectPageMargin参数的含义,iFlag = 0表示页边距,iFlag = 1表示打印区域矩形框位置

js代码实现如下:


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47function myprint() { var axMxDrawX = document.getElementById("MxDrawXCtrl"); var viewBound = axMxDrawX.Call("Mx_GetViewCoord",""); var printParam = axMxDrawX.Call("Mx_NewResbuf",""); // 打印范围取当前视区显示内容 printParam.AddDouble(viewBound.AtDouble(1)); printParam.AddDouble(viewBound.AtDouble(2)); printParam.AddDouble(viewBound.AtDouble(3)); printParam.AddDouble(viewBound.AtDouble(4)); var jpgWidth = viewBound.AtDouble(3) - viewBound.AtDouble(1); var jpgHeight = viewBound.AtDouble(4) - viewBound.AtDouble(2); // 把jpg的宽度,高度,求文档坐标变成象素宽高. //var jpgWidth = axMxDrawX.CallDoubleParam1("Mx_DocLongToViewCoord",jpgWidth); // jpgWidth = jpgWidth.AtLong(1); //var jpgHeight = axMxDrawX.CallDoubleParam1("Mx_DocLongToViewCoord",jpgHeight); //jpgHeight = jpgHeight.AtLong(1); var printWidth = 50; var printHeight = 50; if(jpgWidth > 1) printHeight = printWidth * jpgHeight / jpgWidth; // 打印机名,取空就取系统默认的。 printParam.AddString(""); // 图纸名,取空就取系统默认的 printParam.AddString(""); // 打印的方向,2 为横向,1为纵向,默认取1 printParam.AddLong(1); // 打印区域的左上角X坐标,图纸单为mm printParam.AddLong(50); // 打印区域的右下角X坐标,图纸单为mm printParam.AddLong(50 + printWidth ); // 打印区域的左上角Y坐标,图纸单为mm printParam.AddLong(50); // 打印区域的右下角Y坐标,图纸单为mm printParam.AddLong(50 + printHeight); // 打印的布局,为NULL就是模型Model中的内容 printParam.AddString(""); // 打印配制,暂没有使用 printParam.AddString(""); // 打印的文档名称,在用pdf虚拟打印机时,指定打印的pdf文件的缺省文件名 printParam.AddString(""); // 前面打印参数说明:iFlag = 0表示页边距,iFlag = 1表示打印区域矩形框位置 printParam.AddLong(1); // 开始打印 var ret = axMxDrawX.CallEx("Mx_Print",printParam); if(ret.AtString(0) == "Ok") alert("打印成功"); }

相关问题

如何对视区进行缩放?

在网页中如何设置显示亮度?

在网页中如何得到所有组名?

在网页中如何删除组?

在网页中如何得到用户自定义事件的参数?

如何把实体放到当前选择集中?

如何全屏显示控件?

在网页中如何得到圆?

在网页中如何只让图纸上的圆显示线宽?

在网页中如何打碎块?

梦想 CAD 是专业的CAD插件( 控件 ),可轻松在网页、手机及BS/CS程序中浏览编辑DWG文件,不需安装AutoCAD即可运行。经十余年累积已非常稳定可靠,有关键的空间搜索算法,并使用汇编优化,可同时处理50万级实体,有非常高的图形显示和处理效率。

联系我们


免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

相关文章
技术文档
QR Code
微信扫一扫,欢迎咨询~
customer

online

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 board-phone 155-2731-8020
close1
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

姓名不为空

姓名不为空
手机不正确

手机不正确

手机不正确
公司不为空

公司不为空

公司不为空