C# CAD2010 AcadApplication判断"DWG To PDF.pc3"打印机是否正在打印中
时间: 2023-12-10 15:42:05 浏览: 71
要判断"DWG To PDF.pc3"打印机是否正在打印中,可以使用以下代码:
```csharp
using Autodesk.AutoCAD.ApplicationServices;
using Autodesk.AutoCAD.DatabaseServices;
using Autodesk.AutoCAD.PlottingServices;
// 获取当前文档的打印管理器
PlotInfoValidator plotInfoValidator = PlotFactory.CreatePublishInfo(false);
// 获取当前文档的打印作业
PlotInfo plotInfo = new PlotInfo();
plotInfo.Layout = "*";
plotInfo.OverrideSettings = plotInfoValidator;
PlotInfoCollection plotInfoCollection = new PlotInfoCollection();
plotInfoCollection.Add(plotInfo);
PlotConfigManager plotConfigManager = PlotConfigManager.CurrentConfig;
PlotConfig plotConfig = plotConfigManager.GetCurrentConfig();
string deviceName = plotConfig.CanonicalMediaName;
PlotEngine plotEngine = PlotFactory.CreatePublishEngine();
plotEngine.BeginPlot(null, null);
// 判断"DWG To PDF.pc3"打印机是否正在打印中
bool isPrinting = false;
foreach (string plotDeviceName in plotEngine.GetPlotDeviceNames())
{
if (plotDeviceName.Equals("DWG To PDF.pc3", StringComparison.OrdinalIgnoreCase))
{
PlotDevice device = plotEngine.GetPlotDevice(plotDeviceName);
if (device.IsPrinting)
{
isPrinting = true;
break;
}
}
}
plotEngine.EndPlot();
plotEngine.Dispose();
```
这段代码使用了 AutoCAD .NET API,首先获取当前文档的打印管理器和打印作业,然后获取打印设备列表并遍历查找"DWG To PDF.pc3"打印机,最后判断该打印机是否正在打印中。注意这段代码必须在 AutoCAD 中运行,不能在外部程序中执行。
阅读全文