Exemple #1
0
        static void Main(string[] args)
        {
            string inputFile  = string.Empty;
            string outputFile = string.Empty;

            if (args.Length == 0)
            {
                Console.WriteLine("Podaj ścieżki do plików!");
                return;
            }

            inputFile = args[0].Trim('"');

            if (args.Length == 1)
            {
                outputFile = inputFile;
            }
            else
            {
                outputFile = args[1].Trim('"');
            }

            if (!File.Exists(inputFile))
            {
                Console.WriteLine("Plik wejściowy nie istnieje!");
                return;
            }

            Encoding encoding = new MazoviaEncoding();

            File.WriteAllText(outputFile, File.ReadAllText(inputFile, Encoding.Default), encoding); // CP: 667 790 991
        }
Exemple #2
0
        public static void LptPrint(String portName, String receiptText, String textEncoding)
        {
            IntPtr ptr = CreateFile(portName, GENERIC_WRITE, 0, IntPtr.Zero, OPEN_EXISTING, 0, IntPtr.Zero);

            if (ptr.ToInt32() == -1)
            {
                int errorCode = Marshal.GetHRForLastWin32Error();

                if ((errorCode == -2147024894) || (errorCode == -2147023888))
                {
                    throw new TextPrinterException(TextExceptionId.PortNameError);
                }
                else
                {
                    Marshal.ThrowExceptionForHR(Marshal.GetHRForLastWin32Error());
                }
            }
            else
            {
                // musi być true bo inaczej drukuje wszystko oprócz ostatniej linii i dzieją się dziwne rzeczy
                Microsoft.Win32.SafeHandles.SafeFileHandle sfh = new Microsoft.Win32.SafeHandles.SafeFileHandle(ptr, true);
                FileStream lpt = new FileStream(sfh, FileAccess.ReadWrite);


                Byte[] buffer = new Byte[4096];

                buffer = (MazoviaEncoding.GetEncoding(textEncoding)).GetBytes(receiptText);

                lpt.Write(buffer, 0, buffer.Length);
                lpt.Close();
            }
        }
Exemple #3
0
        public static void Print(String printer, String text, String textEncoding)
        {
            //Console.WriteLine("printer=" + printer + "| textEncoding=" + textEncoding + "|");
            //Console.WriteLine(text);
            byte[]   dstBytes    = (MazoviaEncoding.GetEncoding(textEncoding)).GetBytes(text);
            GCHandle pinnedArray = GCHandle.Alloc(dstBytes, GCHandleType.Pinned);
            IntPtr   pointer     = pinnedArray.AddrOfPinnedObject();

            RawPrinterHelper.SendBytesToPrinter(printer, pointer, dstBytes.Length);
            pinnedArray.Free();
        }