打印CAD的部分我已经了解了,但是这个打印的接口在一个文档还没有打印完成就接着执行下一条语句了,代码如下
IAcadApplication cadApp;
cadApp.CreateDispatch("AutoCAD.Application");
cadApp.SetVisible(TRUE);

IAcadDocuments cadDocs = cadApp.GetDocuments();

COleVariant readOnly((long)-1);
COleVariant passWord("");
IAcadDocument caddoc = cadDocs.Open("D:\\1.dwg",readOnly,passWord);

IAcadPlot plot = caddoc.GetPlot();
plot.SetNumberOfCopies((long)1);
COleVariant plotConfig("Adobe PDF");
plot.SetBatchPlotProgress(TRUE);
plot.PlotToDevice(plotConfig);//Print

caddoc.Save();
cadDocs.Close();
cadApp.Quit();
cadDocs.ReleaseDispatch();
caddoc.ReleaseDispatch();
请教各位该如何等这个文档打印完成了在执行下面的语句。3Q

解决方案 »

  1.   

    一般来说,像word的com操作进行打印,都会有一个函数来得到当前打印的进度的,然后就循环读取那个函数,判断。。这样的话,可能在plot中也有吧,你看看
      

  2.   


    Word,Excel或者是PPT都有PrintOut这个接口,这个接口会自己控制进度,但是CAD没有,我在Plot中也没有发现控制进度的,感觉就是把内容打印机,然后就完事了。