private void printfunction(string cmd)
{
string command = cmd;
// Create a buffer with the command
Byte[] buffer = new byte[command.Length];
buffer = System.Text.Encoding.ASCII.GetBytes(command);
// Use the CreateFile external functo connect to the LPT1 port
SafeFileHandle printer = CreateFile("LPT1:", FileAccess.ReadWrite, 0, IntPtr.Zero, FileMode.Open, 0, IntPtr.Zero);
// Aqui verifico se a impressora é válida
if (printer.IsInvalid == true)
{
MessageBox.Show("Printer not found!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
// Open the filestream to the lpt1 port and send the command
FileStream lpt1 = new FileStream(printer, FileAccess.ReadWrite);
lpt1.Write(buffer, 0, buffer.Length);
// Close the FileStream connection
lpt1.Close();
}
Я использовал функцию кода выше для отправки необработанных данных на мой принтер EPSON TM88III с поддержкой ESC / POS.
У меня только 3 отправленных шрифтов по умолчанию на принтере. Но я не хочу печатать в ARIAL FONT. Как мы можем печатать шрифтом Arial.
Пожалуйста, не предлагайте мне использовать диспетчер очереди печати Windows или драйвер принтера. Я хочу напечатать, отправив необработанные данные.
Как мы можем это сделать?
Кодирование выполняется в C # .NET с использованием Visual Studio 2008.