当前位置:首页 > 帮助文档 > COM开发 > 打印控制
简介打印设置选择范围打印给定中心点缩放打印添加页眉或页脚数据把所有内容打印嵌套打印
简介

当绘制完图纸后就可以开始打印。开始画图前就考虑到打印的需要,要用多大纸张,打印比例应该设置成多少,打印后的字高、线宽、颜色应该设置成多少,在绘制图形的时候,这些为打印而做的准备工作必不可少,点击此处下载演示实例

打印设置

在顶部快速访问工具栏单击打印按钮或者直接输入PLOT命令或者点击打印控制的打印设置按钮打开打印对话框。


//打印设置
private void Print1()
{
    axMxDrawX1.SendStringToExecute("Plot");
}


打印对话框如下图所示,用户可以根据需求设置图纸尺寸和绘图设备,打印区域及打印参数等。


c#print.png

选择范围打印

用户可以在打印设置里面的打印区域的自由选择或者点击打印控制的选择范围打印实现功能。


private void PrintRange()
{
    MxDrawUtility mxUtility = new MxDrawUtility();
    //点取第一点
    MxDrawPoint point = (MxDrawPoint)(mxUtility.GetPoint(null, "点取第一点..."));
    if (point == null)
        return;
    //点取第二点
    MxDrawPoint point1 = (MxDrawPoint)(mxUtility.GetPoint(null, "点取第二点..."));
    if (point1 == null)
        return;
    MxDrawPrint print = new MxDrawPrint();
    //开始打印  参数一为打印的范围左下角X1;参数二为打印的范围左下角Y1
    //参数三为打印的范围右上角X2 ;参数四为打印的范围右上角Y2
    if (print.Print(point.x, point.y, point1.x, point1.y))
    {
        MessageBox.Show("打印成功");
    }
    else
    {
        MessageBox.Show("打印失败");
    }
}


用户可以在控件视区中选取所需打印内容进行打印,效果如下图所示:


c#userprint.png

给定中心点缩放打印

用户可以在控件视区选取打印的中心点进行打印。


private void Print2()
{
    MxDrawUtility mxUtility = new MxDrawUtility();
    //点取打印中心点
    MxDrawPoint point = (MxDrawPoint)(mxUtility.GetPoint(null, "点取第一点..."));
    if (point == null)
        return;         
    MxDrawPrint print = new MxDrawPrint();         
    //开始打印  参数一为打印的范围左下角X1;参数二为打印的范围左下角Y1
    //参数三为打印的范围右上角X2 ;参数四为打印的范围右上角Y2
    if (print.Print2(point.x, point.y, 2))
    {
        MessageBox.Show("打印成功");
    }
    else
    {
        MessageBox.Show("打印失败");
    }
}
添加页眉或页脚数据

用户选取所需打印范围进行打印,并为其添加页眉和页脚数据。


private void AddPageComment()
{
    MxDrawUtility mxUtility = new MxDrawUtility();
    //点取第一点
    MxDrawPoint point = (MxDrawPoint)(mxUtility.GetPoint(null, "点取第一点..."));
    if (point == null)
        return;
    //点取第二点
    MxDrawPoint point1 = (MxDrawPoint)(mxUtility.GetPoint(null, "点取第二点..."));
    if (point1 == null)
        return;
    MxDrawPrint print = new MxDrawPrint();
    //添加一个页眉或页脚数据
    // 参数一为打印的文字内容;参数二为字体;参数三为字体大小,单位是mm ;参数四为字体位置
    print.AddPageComment("TTTTTT中文", "宋体", 3, 1);
    print.AddPageComment("TTTTTT中文", "宋体", 3, 2);
    print.AddPageComment("TTTTTT中文", "宋体", 3, 3);
    print.AddPageComment("TTTTTT中文2", "宋体", 3, 4);
    print.AddPageComment("TTTTTT中文2", "宋体", 3, 5);
    print.AddPageComment("TTTTTT中文2", "宋体", 3, 6);
    //开始打印  参数一为打印的范围左下角X1;参数二为打印的范围左下角Y1
    //参数三为打印的范围右上角X2 ;参数四为打印的范围右上角Y2
    if (print.Print(point.x, point.y, point1.x, point1.y))
    {
        MessageBox.Show("打印成功");
    }
    else
    {
        MessageBox.Show("打印失败");
    }
}


如下图所示:


c#addpage.png

把所有内容打印

用户可以将视区所有内容进行打印。


private void PrintAll()
{
    MxDrawPrint print = new MxDrawPrint();
    if (print.PrintAll())
    {
        MessageBox.Show("打印成功");
    }
    else
    {
        MessageBox.Show("打印失败");
    }
}


效果如下:


c#printall.png

嵌套打印

当用户需要打印两个控件的图纸时,可以采用嵌套打印实现。实现嵌套打印功能,首先将两个控件放入网页中,C#代码如下:


private void BatchPrintDialog()
{            
    MxDrawPrint print = new MxDrawPrint();
    // 开始打印.
    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;
    // 把屏幕显示内容进行的打印,打印第一个控件。
    axMxDrawX1.MakeCurrentOcx();
    print.PrintScreen();
    // 打印区位置(10,110,200,210),坐标系统是,X从左到右,Y从上到下.
    //打印的页边距的上边距离
    print.dTopPageMargin = 110;
    //打印的页边距的下边距离
    print.dBottomPageMargin = 210;
    // 把屏幕显示内容进行的打印,打印第二个控件。
    axMxDrawX2.MakeCurrentOcx();
    print.PrintScreen();
    //结束嵌套打印
    print.EndNestedPrint();            
}


效果展示:


c#printboth.png

梦想CAD是专业的CAD插件(控件),可轻松在网页、手机及BS/CS程序中浏览编辑DWG文件,不需安装AutoCAD即可运行。经十余年累积已非常稳定可靠,有关键的空间搜索算法,并使用汇编优化,可同时处理50万级实体,有非常高的图形显示和处理效率。
联系我们
技术TEL:400-888-5703
185-8173-1060
客服I QQ: 3570505660
技术I QQ: 827867134
技术II QQ:6884123
VIP服务购买
销售TEL:156-8136-8971
销售QQ:710714273
用户交流
控件QQ交流群1:73281982
控件QQ交流群2:112199959
MxCAD软件群 1:515771658
技术I:QQ
827867134
客服I:QQ
3570505660
销售QQ
710714273
联系电话400-888-5703