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();
}
我一直在使用上面的代码功能将原始数据发送到我支持 ESC/POS 的 EPSON TM88III 打印机。
默认情况下,我在打印机中只发送了 3 个字体。但我不想用 ARIAL FONT 打印。我们如何以 Arial 字体打印。
请不要建议我使用 Windows 打印后台处理程序或打印机驱动程序。我想通过发送原始数据进行打印。
我们应该怎么做?
编码是使用 Visual Studio 2008 在 C#.NET 中完成的。