当用户需要打印两个控件的图纸时,可以采用嵌套打印实现。点击此处在线演示

实现嵌套打印功能,首先将两个控件放入网页中,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
<p align="center">
 
  <object classid="clsid:74A777F8-7A8F-4e7c-AF47-7074828086E2" id="MxDrawXCtrl1"  codebase="http://www.mxdraw.com/MxDrawX52.CAB#version=7.0.0.1" width=48% height=85% align="left">
    <param name="_Version" value="65536">
    <param name="_ExtentX" value="24262">
    <param name="_ExtentY" value="16219">
    <param name="_StockProps" value="0">
    <param name="IsRuningAtIE" value="1">
    <param name="EnablePrintCmd" value="1">
    <param name="ShowStatusBar" value="1">
    <param name="ShowMenuBar" value="1">
    <param name="ShowToolBars"  value="1">
    <param name="ShowCommandWindow" value="1">
    <param name="ShowModelBar" value="1">
    <param name="Iniset" value="AutoActive=N,LoadMrx=PropertyEditor">
 
    <param name="ToolBarFiles" value="MxDraw-ToolBar.mxt,MxDraw-ToolBar-DrawParam.mxt,MxDraw-ToolBar-Draw.mxt,MxDraw-ToolBar-Edit.mxt">
    <SPAN STYLE="color:red">不能装载CAD控件。请确认你可以连接网络或者检查浏览器的选项中安全设置。<a href="http://www.mxdraw.com/MxDrawX52.msi">http://www.mxdraw.com/MxDrawX52.msi 安载CAD控件</a></SPAN>
  </object>
  <object classid="clsid:74A777F8-7A8F-4e7c-AF47-7074828086E2" id="MxDrawXCtrl2"  codebase="http://www.mxdraw.com/MxDrawX52.CAB#version=7.0.0.1"width=48% height=85% align="right">
    <param name="_Version" value="65536">
    <param name="_ExtentX" value="24262">
    <param name="_ExtentY" value="16219">
    <param name="_StockProps" value="0">
    <param name="IsRuningAtIE" value="1">
    <param name="EnablePrintCmd" value="1">
    <param name="ShowStatusBar" value="1">
    <param name="ShowMenuBar" value="1">
    <param name="ShowToolBars"  value="1">
    <param name="ShowCommandWindow" value="1">
    <param name="ShowModelBar" value="1">
    <param name="Iniset" value="AutoActive=N,LoadMrx=PropertyEditor">
 
    <param name="ToolBarFiles" value="MxDraw-ToolBar.mxt,MxDraw-ToolBar-DrawParam.mxt,MxDraw-ToolBar-Draw.mxt,MxDraw-ToolBar-Edit.mxt">
    <SPAN STYLE="color:red">不能装载CAD控件。请确认你可以连接网络或者检查浏览器的选项中安全设置。<a href="http://www.mxdraw.com/MxDrawX52.msi">http://www.mxdraw.com/MxDrawX52.msi 安载CAD控件</a></SPAN>
  </object>

首先通过id得到两个控件,新建一个COM组件对象,设置打印的位置等常规设置,具体实现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
function BatchPrintDialog() {
    var ocx1 = document.getElementById("MxDrawXCtrl1");
    var ocx2 = document.getElementById("MxDrawXCtrl2");
    var print = ocx1.NewComObject("IMxDrawPrint");
    // 开始打印.
    print.BeginNestedPrint();
    //iFlag = 0表示页边距,iFlag = 1表示打印区域矩形框位置
    print.Flag = 1;
    // 打印区位置(10,10,200,100),坐标系统是,X从左到右,Y从上到下.
    //打印的页边距的左边距离
    print.dLeftPageMargin = 10;
    //打印的页边距的上边距离
    print.dTopPageMargin = 10;
    //打印的页边距的右边距离
    print.dRightPageMargin = 200;
    //打印的页边距的下边距离
    print.dBottomPageMargin = 100;
    // 把屏幕显示内容进行的打印,打印第一个控件。
    ocx1.MakeCurrentOcx();
    print.PrintScreen();
    ocx2.MakeCurrentOcx();
    // 打印区位置(10,110,200,210),坐标系统是,X从左到右,Y从上到下.
    //打印的页边距的上边距离
    print.dTopPageMargin = 110;
    //打印的页边距的下边距离
    print.dBottomPageMargin = 210;
    // 把屏幕显示内容进行的打印,打印第二个控件。
    print.PrintScreen();
    //结束嵌套打印
    print.EndNestedPrint();
}

CAD在网页中如何实现嵌套打印?的更多相关文章

  1. CAD在网页中绘图,并为新绘的对象写扩展数据和读取扩展数据

    在网页中绘图,并为新绘的对象写扩展数据和读取扩展数据.下面帮助的完整例子,在控件安装目录的 Sample\Ie\iedemo.htm 中. 主要用到函数说明: _DMxDrawX::InsertBlo ...

  2. CAD在网页中打印的图纸里面添加页眉及页脚

    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 3 ...

  3. CAD在网页中增加一个射线

    主要用到函数说明: IMxDrawBlockTableRecord::AddRay 向记录中增加一个射线,详细说明如下: 参数 说明 point1 射线上的点1 point2 射线上的点2 js代码实 ...

  4. CAD在网页中如何设置实体闪烁?

    主要用到函数说明: MxDrawXCustomFunction::Mx_TwinkeEnt 闪烁实体.详细说明如下: 参数 说明 McDbObjectId id 被闪烁的实体对象id LONG lCo ...

  5. CAD在网页中返回当前图纸的最小外包矩形框

    主要用到函数说明: _DMxDrawX::GetMcDbDatabaseBound 返回当前图纸的最小外包矩形框,详细说明如下: 参数 说明 DOUBLE* pLbx 返回最小外包矩形框左下角X值 D ...

  6. CAD在网页中得到批注信息

    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 3 ...

  7. CAD在网页中绘制批注

    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 3 ...

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

    主要用到函数说明: _DMxDrawX::CustomEventParam 得到用户自定义事件的参数. js代码实现如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ...

  9. CAD嵌套打印(网页版)

    当用户需要打印两个CAD控件的图纸时,可以采用嵌套打印实现.点击此处在线演示. 实现嵌套打印功能,首先将两个CAD控件放入网页中,js代码如下: <p align="center&qu ...

随机推荐

  1. 使用mpxj读取MSPrjoect

    import java.util.ArrayList; import java.util.Calendar; import java.util.Hashtable; import java.util. ...

  2. 阿里电话面试问题----100万个URL怎样找到出现频率最高的前100个?

    内推阿里电话面试中面试官给我出的一个题: 我想的头一个解决方式.就是放到stl 的map里面对出现的频率作为pair的第二个字段进行排序.之后依照排序结果返回: 以下口说无凭,show your co ...

  3. POJ 3650:The Seven Percent Solution

    The Seven Percent Solution Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 7684   Accep ...

  4. POJ1228 Grandpa's Estate 稳定凸包

    POJ1228 转自http://www.cnblogs.com/xdruid/archive/2012/06/20/2555536.html   这道题算是很好的一道凸包的题吧,做完后会加深对凸包的 ...

  5. 杂项-Java:MyBatis

    ylbtech-杂项-Java:MyBatis 1.返回顶部 1. MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundatio ...

  6. bzoj 1652: [Usaco2006 Feb]Treats for the Cows【区间dp】

    裸的区间dp,设f[i][j]为区间(i,j)的答案,转移是f[i][j]=max(f[i+1][j]+a[i](n-j+i),f[i][j-1]+a[j]*(n-j+i)); #include< ...

  7. 个人作品:EasyPicker(轻取)简洁而又实用的文件收取Web应用

    EasyPicker简洁实用且方便的在线文件收取Web应用  小弟我作为班上的学委,有一个伟大的职责,收发各科作业(尤其是专业课的上机课),上机==写报告,此时就产生了实验报告这个玩意儿,一个班少则4 ...

  8. HDU 4135 容斥原理

    思路: 直接容斥 //By SiriusRen #include <cstdio> using namespace std; #define int long long ; int cas ...

  9. HDU 1007 平面上最近点对 分治

    思路: 分治 套路题 //By SiriusRen #include <cmath> #include <cstdio> #include <algorithm> ...

  10. Q - Euclid in Manhattan(欧几里德距离==曼哈顿距离?)

    Desciption Consider a set of n points in a 2-D plane with integer coordinates. There are various way ...