Example #1
0
        public static void SendStringToPrinter(string PrinterName, string Data)
        {
            int    length    = Data.Length;
            IntPtr PtrToData = Marshal.StringToCoTaskMemAnsi(Data);
            int    dwWritten;
            IntPtr hPrinter;

            Printer.DOCINFOA di = new Printer.DOCINFOA();
            di.pDocName  = "RAW";
            di.pDataType = "RAW";
            if (Printer.OpenPrinter(PrinterName.Normalize(), out hPrinter, IntPtr.Zero))
            {
                if (Printer.StartDocPrinter(hPrinter, 1, di))
                {
                    if (Printer.StartPagePrinter(hPrinter))
                    {
                        Printer.WritePrinter(hPrinter, PtrToData, length, out dwWritten);
                        Printer.EndPagePrinter(hPrinter);
                    }
                    Printer.EndDocPrinter(hPrinter);
                }
                Printer.ClosePrinter(hPrinter);
            }
            Marshal.FreeCoTaskMem(PtrToData);
        }
Example #2
0
 public static extern bool StartDocPrinter(IntPtr hPrinter, int level, [MarshalAs(UnmanagedType.LPStruct), In] Printer.DOCINFOA di);