这几天搞cad二次开发,用的是C#语言,目前在网上找到的资料比较少。弄了两天,才做出怎样实现打印出图片。首先得在AutoCAD软件界面下,设置打印机的页面设置和打印机设备名称一样(以防打印不出来)。即都为PublishToWeb JPG.pc3。注意图片名称最好为数字(我也不知道原因)。具体实现代码如下:

 /// <summary>
/// 打印出图片
/// </summary>
public void PrintCADToJPG()
{
bool isZong = true;
isZong=PrintPlotRotation();
string jpgNamePath = StaticDJMessage.DictoryDJ + "\\" + StaticDJMessage.JpgName;//目标文件
if (System.IO.File.Exists(jpgNamePath))
{
System.IO.File.Delete(jpgNamePath);
}
AcadDocument drawing = AcadApp.ActiveDocument;
//验证活动空间是模型空间
if (drawing.ActiveSpace == AcActiveSpace.acPaperSpace)
{
drawing.MSpace = true;
drawing.ActiveSpace = AcActiveSpace.acModelSpace;
}
//前台打印
drawing.SetVariable("BACKGROUNDPLOT", );
// 绘图设置
drawing.Application.ZoomExtents();
drawing.ActiveLayout.ConfigName = "PublishToWeb JPG.pc3";//页面设置名称
//设置打印图纸大小
string[] cMNameLst = (string[])drawing.ActiveLayout.GetCanonicalMediaNames();
foreach (string name in cMNameLst)
{
//查找纸张大小
if (name.Contains("2000.00") && name.Contains("2000.00"))
{
drawing.ActiveLayout.CanonicalMediaName = name;
break;
}
}
drawing.ActiveLayout.CenterPlot = true; // 居中
drawing.ActiveLayout.PlotType = AcPlotType.acExtents;
drawing.ActiveLayout.UseStandardScale = true; // 使用标准比例
drawing.ActiveLayout.StandardScale = AcPlotScale.acScaleToFit; // 自动缩放适应 // 设置打印样式
drawing.ActiveLayout.StyleSheet = "acad.ctb"; //颜色样式表
if (isZong)
{
drawing.ActiveLayout.PlotRotation = AcPlotRotation.ac0degrees; //纵向打印
}
else
drawing.ActiveLayout.PlotRotation = AcPlotRotation.ac270degrees; //纵向打印
//打印预览
// drawing.Plot.DisplayPlotPreview(AcPreviewMode.acFullPreview);
drawing.Plot.QuietErrorMode = true; // 生成存档,避免报错
drawing.Plot.NumberOfCopies = ; //打印份数
drawing.ActiveLayout.RefreshPlotDeviceInfo();
// 打印到文件
//第二个参数为打印机名称
drawing.Plot.PlotToFile(jpgNamePath, "PublishToWeb JPG.pc3");
}

注意:要设置为前台打印,如果不设置默认为后台打印,后台打印不同的CAD软件可能会出现错误。

AutoCAD图形打印出图片 C#的更多相关文章

  1. 写一个PHP函数,实现扫描并打印出指定目录下(含子目录)的所有jpg文件名

    写一个PHP函数,实现扫描并打印出指定目录下(含子目录)的所有jpg文件名 <?php $dir = "E:\照片\\";//打印文件夹中所有jpg文件 function p ...

  2. 1.关于QT中的Graphics绘图,定时器,动画,将窗口中的内容打印到图片上,打印机,打印预览

     1 新建项目 A  修改pro中的内容如下: HEADERS += \ MyWidget.h SOURCES += \ MyWidget.cpp QT += gui widgets prints ...

  3. 漫谈程序员系列:3D打印能打印出程序员吗

    首先声明,本文是一本正经的胡扯,绝不是随随便便的胡扯,请您不要随便攻击我胡说八道.我要反复星爷在<喜剧之王>里的台词:事实上.我是一本正经的喷子. 3D打印的定义 关于3D打印,以下是来自 ...

  4. C#:使用FastReport打印带图片传参模板的实现方法

    大家都知道,C#打印图片可以直接调用PrintDocument控件的PrintPage事件,通过画刷对image对象直接进行绘制.但是这种方法存在局限,例如如果打印的图片需要按纸张大小进行缩放的话,那 ...

  5. .NET 采用 SkiaSharp 生成二维码和图形验证码及图片进行指定区域截取方法实现

    在最新版的 .NET 平台中,微软在逐步放弃 System.Drawing.Imaging ,给出的理由如下: System.Drawing命名空间对某些操作系统和应用程序类型有一些限制. 在Wind ...

  6. JS 点击弹出图片/ 仿QQ商城点击左右滚动幻灯片/ 相册模块,点击弹出图片,并左右滚动幻灯片

    1, 点击弹出图片 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://w ...

  7. 以16进制打印出一块内存buff

    如下代码(支持windows与Linux)会以[16进制][每行16字节]打印出一块内存的内容: void PrintBuffer(void* pBuff, unsigned int nLen) { ...

  8. 题目:打印出所有的 "水仙花数 ",所谓 "水仙花数 "是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个 "水仙花 数 ",因为153=1的三次方+5的三次方+3的三次方。

    题目:打印出所有的 "水仙花数 ",所谓 "水仙花数 "是指一个三位数,其各位数字立方和等于该数本身.例如:153是一个 "水仙花 数 ", ...

  9. javap 可以打印出用于jni调用的java函数的签名信息

    javap可以打印出java的字节码: -c     Prints out disassembled code, i.e., the instructions that comprise the Ja ...

随机推荐

  1. python初试牛刀

    需求:在L7的一台机器上做nginx配置,然后代码分发到别的所有的机器上.由于目录中有很多配置文件,而且防止误操作,需要修改配置之前先备份原配置.然后需要在运行修改配置的脚本之前,先弹出界面,告知操作 ...

  2. C# 刷票程序

    上个月有人让我帮忙投票,我想要不写个程序给他多刷点得了,虽然这事情有悖原则,就当娱乐了.. 先上图 1.分析 既然是网页投票,那肯定可以伪造HTTP请求来实现刷票.需要分析的就是该网站到底采用了哪些防 ...

  3. SQLserver通过链接服务器连接oracle

    在SQLserver中一直使用的是DTS抽取数据,但是DTS微软只支持到2008,到了2012后就没有这个工具了,现在需要在SQLserver跟Oracle中间建立一个通道,借助这个通道,将Oracl ...

  4. .NET平台技术体系梳理+初学者学习路径推荐+我们的愿景与目标

    文章出自:http://www.cnblogs.com/ice-river/p/3475041.html 一 .NET平台技术体系梳理 .NET平台应用领域众多(桌面开发,web开发,移动开发),不断 ...

  5. iOS定位服务编程详解

    现在的移动设备很多都提供定位服务,使用iOS系统的iPhone.iPod Touch和iPad都可以提供位置服务,iOS设备能提供3种不同途径进行定位:Wifi, 蜂窝式移动电话基站, GPS卫星 i ...

  6. mysql日志文件

    mysql的数据文件夹里出现mysql-bin日志文件,通过my.cnf注释掉log后,是否可以删除了? 参考 http://database.51cto.com/art/201107/278988. ...

  7. Java异常的深入研究与分析

    前言 本文是异常内容的集大成者,力求全面,深入的异常知识研究与分析.本文由金丝燕网独家撰写,参考众多网上资源,经过内容辨别取舍,文字格式校验等步骤编辑而成,以飨读者.对于本文的内容,建议小白需要多多思 ...

  8. 出现错误:Unable to load configuration. - action - file:/E:/Java/Tomcat7.0/apache-tomcat-7.0.68-windows-x64/apache-tomcat-7.0.68/webapps/SSH2Integrate/WEB-INF/classes/struts.xml:8:43

    严重: Exception starting filter struts2 Unable to load configuration. - action - file:/E:/Java/Tomcat7 ...

  9. [转载]C#获取本机IPv4地址

    C#获取本机IP地址在C#1.0之后都使用下面的这种形式: IPHostEntry ipe = Dns.GetHostEntry(Dns.GetHostName()); IPAddress ipa=i ...

  10. PE文件结构详解(四)PE导入表

    PE文件结构详解(二)可执行文件头的最后展示了一个数组,PE文件结构详解(三)PE导出表中解释了其中第一项的格式,本篇文章来揭示这个数组中的第二项:IMAGE_DIRECTORY_ENTRY_IMPO ...