Get Names of Available Printers Example (C#)
This example shows how to get the names of the printers available to your
computer to which you can print.
//--------------------------------------------------------------
// Preconditions:
// 1. Create a C# Windows console project.
// 2. Copy and paste this project into the C# IDE.
// 3. Add a reference:
// install_dir\APISDK\tlb\DraftSight.Interop.dsAutomation.
// 4. Open the Immediate window.
// 5. Start DraftSight.
// 6. Run the macro.
//
// Postconditions: The names of available printers are written
// to the Immediate window.
//----------------------------------------------------------------
using DraftSight.Interop.dsAutomation;
using System;
using System.Diagnostics;
using System.Runtime.InteropServices;
static class Module1
{
public static void Main()
{
DraftSight.Interop.dsAutomation.Application dsApp;
//Connect to DraftSight
dsApp = (DraftSight.Interop.dsAutomation.Application)Marshal.GetActiveObject("DraftSight.Application");
//Abort any command currently running in DraftSight
//to avoid nested commands
dsApp.AbortRunningCommand();
//Get list of available printers
PrintManager dsPrintMgr = default(PrintManager);
dsPrintMgr = (PrintManager)dsApp.GetPrintManager();
string[] printerArray = dsPrintMgr.GetAvailablePrinters();
if(null != printerArray)
{
Debug.Print ("Available printers:");
for (int i = 0; i < printerArray.Length; ++i)
{
Debug.Print(" " + printerArray[i]);
}
}
}
}