明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 5730|回复: 0

[原创]C#.net下模拟AutoCAD Print实现dwg转换为pdf

[复制链接]
发表于 2007-2-16 14:26:00 | 显示全部楼层 |阅读模式
本帖最后由 作者 于 2007-2-16 14:30:40 编辑

这个功能的实现并不复杂,但对非从事AutoCAD二次开发的开发人员而言还是比较麻烦的,我就走了很大的弯路,研究了半天ObjectARX,在此感谢QQ名为“甘泉”的Q友指点。

实现原理:调用COM API
1、AutoCAD Print设置:
  1-1、安装AutoCAD 2006、Adobe Acrobat Profesional 7.0,安装Acrobat后会新增一个“Adobe PDF”系统打印机
  1-2、添加“Adobe PDF”系统打印机为绘图仪(如命名为“Adobe PDF.pc3”);在“添加绘图仪—完成”步骤选择“编辑绘图仪配置”,在“设备和文档设置”分页选择“图形”下的“自定义特性”;在“Adobe PDF Settings”分页:设置“Adobe PDF Output Folder”为“My Documents\*.pdf”(注:或选择其他目录,此处定义dwg),设置“Adobe PDF Page Size”为“A4”,“View Adobe PDF results”取消,“Add Document Information”取消;
  1-3、选择打印,打印对话框中:设置“打印机/绘图仪器—名称”为“Adobe PDF.pc3”,设置“图纸尺寸”为“A4”,设置“打印范围”为“范围”;点“确定”即可将当前dwg文件打印为pdf文件;
2、C#.net代码编写(Visual Studio.nt 2003):
  2-1:添加COM引用:AutoCAD 2006 Type Library;AutoCAD/ObjectDBX Common 16.0 Type Library
  2-2:测试代码如下:
           string flname = "1001.dwg";                                                                                        //定义文件名
           string flpath = "C:\\Documents and Settings\\Administrator\\My Documents\\";            //定义文件目录
           string fuflname = flpath + flname;                                                                                //定义文件全路径名
           AcadDocumentClass AcdDoc = new AcadDocumentClass();
           AcadDocument docu = AcdDoc.Application.Documents.Open(fuflname, true, null);   //以只读方式打开该文件
           docu.ActiveLayout.ConfigName = "Adobe PDF.pc3";                                                  //定义打印机
           docu.ActiveLayout.CanonicalMediaName = "A4";                                                        //定义打印纸张
           docu.ActiveLayout.PlotType = Autodesk.AutoCAD.Interop.Common.AcPlotType.acExtents; //定义打印范围
           docu.Plot.PlotToDevice(null);                                                                                      //发送打印命令
           docu.Close(null, null);                                                                                                  //关闭文件

 

以上测试通过,但还是有个小小的问题,在打开指定文档时,会同时打开一份空文档,虽然在最后会与指定文档一起被关闭,但总觉得是个问题。有哪位高人指点一二?

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-25 10:30 , Processed in 0.160781 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表