PUnmanagedBytes = Marshal.AllocCoTaskMem(nLength) Allocate some unmanaged memory for those bytes. Read the contents of the file into the array. Dim an array of bytes big enough to hold the file's contents. Public static bool SendFileToPrinter( string szPrinterName, string szFileName )įileStream fs = new FileStream(szFileName, FileMode.Open) If you did not succeed, GetLastError may give more information If( OpenPrinter( szPrinterName.Normalize(), out hPrinter, IntPtr.Zero ) )īSuccess = WritePrinter(hPrinter, pBytes, dwCount, out dwWritten) Public static bool SendBytesToPrinter( string szPrinterName, IntPtr pBytes, Int32 dwCount)īool bSuccess = false // Assume failure unless you specifically succeed. Returns true on success, false on failure. of bytes, the function sends those bytes to the print queue. When the function is given a printer name and an unmanaged array Public static extern bool WritePrinter(IntPtr hPrinter, IntPtr pBytes, Int32 dwCount, out Int32 dwWritten ) ![]() Public static extern bool EndPagePrinter(IntPtr hPrinter) Public static extern bool StartPagePrinter(IntPtr hPrinter) ![]() Public static extern bool EndDocPrinter(IntPtr hPrinter) Public static extern bool StartDocPrinter( IntPtr hPrinter, Int32 level, DOCINFOA di) Public static extern bool ClosePrinter(IntPtr hPrinter) Public static extern bool OpenPrinter( string szPrinter, out IntPtr hPrinter, IntPtr pd) ![]() This way you will be able to send ZPL to a printer no matter how it is connected ( LPT, USB, Network Share.)Ĭreate the RawPrinterHelper class (from the Microsoft article on How to send raw data to a printer by using Visual C#.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |