Example #1
0
        public bool AddCustomclawPDFPrinter(string name)
        {
            bool           printerAdded   = false;
            PRINTER_INFO_2 clawPDFPrinter = new PRINTER_INFO_2();

            clawPDFPrinter.pServerName     = null;
            clawPDFPrinter.pPrinterName    = name;
            clawPDFPrinter.pPortName       = PORTNAME;
            clawPDFPrinter.pDriverName     = DRIVERNAME;
            clawPDFPrinter.pPrintProcessor = PRINTPROCESOR;
            clawPDFPrinter.pDatatype       = "RAW";
            clawPDFPrinter.Attributes      = 0x00000002;

            int clawPDFPrinterHandle = NativeMethods.AddPrinter(null, 2, ref clawPDFPrinter);

            if (clawPDFPrinterHandle != 0)
            {
                // Added ok
                int closeCode = NativeMethods.ClosePrinter((IntPtr)clawPDFPrinterHandle);
                printerAdded = true;
            }
            else
            {
                Console.WriteLine("Could not add clawPDF virtual printer. " +
                                  String.Format(WIN32ERROR, Marshal.GetLastWin32Error().ToString()));
            }
            return(printerAdded);
        }
Example #2
0
 internal static extern int AddPrinter(string pName, uint Level, [In] ref PRINTER_INFO_2 pPrinter);