//static ZebraPrintHelper()
        //{
        //    GraphBuffer = new byte[0];
        //    IsWriteLog = false;
        //    LogsDirectory = "logs";
        //}
        #endregion

        #region 定义发送原始数据到打印机的方法
        private static bool SendBytesToPrinter(string printerName, IntPtr intptrBytes, Int32 count)
        {
            Int32   error = 0, written = 0;
            IntPtr  intptrPrinter = new IntPtr(0);
            DocInfo docInfo       = new DocInfo();
            bool    bSuccess      = false;

            docInfo.DocName  = ".NET RAW Document";
            docInfo.DataType = "RAW";

            // Open the printer.
            if (OpenPrinter(printerName.Normalize(), out intptrPrinter, IntPtr.Zero))
            {
                // Start a document.
                if (StartDocPrinter(intptrPrinter, 1, docInfo))
                {
                    // Start a page.
                    if (StartPagePrinter(intptrPrinter))
                    {
                        // Write your bytes.
                        bSuccess = WritePrinter(intptrPrinter, intptrBytes, count, out written);
                        EndPagePrinter(intptrPrinter);
                    }
                    EndDocPrinter(intptrPrinter);
                }
                ClosePrinter(intptrPrinter);
            }
            // If you did not succeed, GetLastError may give more information
            // about why not.
            if (bSuccess == false)
            {
                error = Marshal.GetLastWin32Error();
            }
            return(bSuccess);
        }
 public static extern bool StartDocPrinter(IntPtr intptrPrinter, Int32 level, [In, MarshalAs(UnmanagedType.LPStruct)] DocInfo docInfo);