Я пытаюсь получить предварительный просмотр перед печатью на чековый / термопринтер, но проблема в том, что предварительный просмотр показывает полную обычную страницу вместо просмотра страницы на термобумаге. Как я могу получить просмотр страницы термобумаги вместо обычной бумаги? Я попробовал следующий код:
try
{
float x, y, lineOffset;
//Bitmap pbImage = new Bitmap("Images/logo.PNG");
// Instantiate font objects used in printing.
Font printFont = new Font("Microsoft Sans Serif", (float)10, FontStyle.Regular, GraphicsUnit.Point); // Substituted to FontA Font
e.Graphics.PageUnit = GraphicsUnit.Point;
// Draw the bitmap
x = 79;
y = 10;
// e.Graphics.DrawImage(pbImage, x, y, pbImage.Width - 13, pbImage.Height - 10);
// Print the receipt text
lineOffset = printFont.GetHeight(e.Graphics) - (float)3.5;
x = 10;
y = 24 + lineOffset;
e.Graphics.DrawString(" TEL 9999-99-9999 C#2", printFont, Brushes.Black, x, y);
y += lineOffset;
e.Graphics.DrawString(" November.23, 2007 PM 4:24", printFont, Brushes.Black, x, y);
y = y + (lineOffset * (float)2.5);
e.Graphics.DrawString("apples $20.00", printFont, Brushes.Black, x, y);
y += lineOffset;
e.Graphics.DrawString("grapes $30.00", printFont, Brushes.Black, x, y);
y += lineOffset;
e.Graphics.DrawString("bananas $40.00", printFont, Brushes.Black, x, y);
printFont = new Font("Microsoft Sans Serif", 20, FontStyle.Regular, GraphicsUnit.Point);
lineOffset = printFont.GetHeight(e.Graphics) - 3;
y += lineOffset;
e.Graphics.DrawString("Total $210.00", printFont, Brushes.Black, x - 1, y);
printFont = new Font("Microsoft Sans Serif", (float)10, FontStyle.Regular, GraphicsUnit.Point);
lineOffset = printFont.GetHeight(e.Graphics);
y = y + lineOffset + 1;
e.Graphics.DrawString("Customer's payment $250.00", printFont, Brushes.Black, x, y);
y += lineOffset;
e.Graphics.DrawString("Change $40.00", printFont, Brushes.Black, x, y - 2);
// Indicate that no more data to print, and the Print Document can now send the print data to the spooler.
e.HasMorePages = false;
}
catch (Exception f)
{
MessageBox.Show(f.Message);
}
А также я должен напечатать логотип изображения, который не печатается с ошибкой, поскольку параметр недействителен.