CAD如何直接打印,不出现打印对话框?
主要用到函数说明:
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表示不打印 |
|
iFlag |
pRectPageMargin参数的含义,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
47
|
function 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直接打印,不出现打印对话框(com接口VB语言)
主要用到函数说明: MxDrawXCustomFunction::Mx_Print 直接打印,不出现打印对话框,详细说明如下: 参数 说明 double ptLBx 打印的范围左下角x double ...
- FastReport.Net使用:[1]屏蔽打印对话框
1.如何设置默认打印机 在FastReport设计界面找到File->Printer Setup菜单,运行该菜单显示“打印机设置”对话框.在打印机(Printer)列表中选择默认打印机,并勾上“ ...
- C# 使用printDocument1.Print打印时不显示 正在打印对话框
C#使用printDocument1.Print打印时不显示正在打印对话框有两种方法 第一种,使用PrintController PrintController printControll ...
- C# 使用printDocument1.Print打印时不显示 正在打印对话框(里面还有一个讨厌的取消按钮)
C#使用printDocument1.Print打印时不显示正在打印对话框有两种方法 第一种,使用PrintController PrintController printController = n ...
- PRINTDLG 打印对话框操作
typedef struct tagPD { DWORD lStructSize; HWND hwndOwner; HGLOBAL hDevMode; HGLOBAL hDevNames; HDC h ...
- UWP开发入门(二十四)—— Win10风格的打印对话框
虽然经常看到阿迪王发“看那个开发UWP的又上吊了”的图……还是忍不住重启一下这个系列.最近有用到UWP的print API,特地来写一篇给某软的这个伟大构想续一秒. 之前的打印对话框差不多长成这样: ...
- MFC中打印对话框CPrintDialog类
void CCPrintDialogView::OnPrint() { DWORD dwflags=PD_ALLPAGES|PD_NOPAGENUMS|PD_USEDEVMODECOPIES|PD_S ...
- CAD中批量打印
同事在网上找各种软件来实现CAD图的批量打印,总是问题多多.于是,我想到一个更方便的解决方法,即只要我将一个打印出来,然后就可以用批量处理来实现. 1.在CAD中输入plot命令(或快捷键Ctrl+P ...
- CAD打印图纸要怎么操作?简单方法分享给你
大家日常生活中多多少少的都接触到过CAD文件,CAD图是借助CAD制图软件来进行绘制完成的.唯一的困惑就是CAD图纸的格式大多数均为dwg格式的,查看起来不是那么的方便?所以很多设计师们都会选择将图纸 ...
随机推荐
- .net的程序的逆向分析。
背景:碰到一个由c#写的exe,由于之前没有分析过.net的程序,记录下分析流程. 1)peid加载判断类型,可以看出没有加壳. 2)搜索c#的反编译以及调试工具. 1.NET.Reflector以及 ...
- OSS与文件系统的对比
基本概念介绍_开发指南_对象存储 OSS-阿里云 https://help.aliyun.com/document_detail/31827.html 强一致性 Object 操作在 OSS 上具有 ...
- POJ 3650:The Seven Percent Solution
The Seven Percent Solution Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 7684 Accep ...
- 数据读进set,进行后处理
#include <iostream> #include <vector> #include <cstddef> #include <string> # ...
- 解决 IDEA 中文乱码
一.打开Intellij的根目录,找到下图的两个文件(根据你的系统是32位或64位选择其中一个配置文件),在配置文件中添加:-Dfile.encoding=UTF-8 二. 配置IDE编码 点击F ...
- E20170531-hm
passage n. 通路; 通道 discrete adj. 分离的,不相关联的; 分立式; 非连续; alternative 替代的; 另类的; 备选的; 其他的; intent ...
- noip2002矩阵覆盖(搜索)
矩阵覆盖 题目描述 在平面上有 n 个点(n <= 50),每个点用一对整数坐标表示.例如:当 n=4 时,4个点的坐标分另为:p1(1,1),p2(2,2),p3(3,6),P4(0,7),见 ...
- ngCordova插件说明
转载自 http://my.oschina.net/u/1416844/blog/495026 参 考http://blog.csdn.net/superjunjin/article/details/ ...
- Nginx开启http2访问和gzip网页压缩功能
准备工作 如果Nginx要开启http2需要满足以下2个条件: nginx >=1.9.5 openSSL >= 1.0.2 所以这里我们首先要检查Nginx的版本如果没有安装要先安装 ...
- Lightoj 1020 - A Childhood Game (博弈)
题目链接: 1020 - A Childhood Game 题目描述: Alice和Bob在玩弹珠游戏,两人轮流拿走弹珠,每次只能拿走一个或者两个,当Alice作为先手时谁拿走最后一个就是输家,而Bo ...