Как напечатать изображение на термопринтере
Я пытаюсь напечатать изображение на термопечати:
void Method()
{
var printDocument = new PrintDocument();
printDocument.PrinterSettings = new PrinterSettings() { PrinterName = "zebra" };
printDocument.PrintPage += new PrintPageEventHandler(printDocument_PrintPage);
printDocument.Print();
}
void printDocument_PrintPage(object sender, PrintPageEventArgs e)
{
e.Graphics.DrawImage(System.Drawing.Image.FromFile(Server.MapPath("~/Images/orderedList6.png")), 0, 0);
}
Но документ не распечатан. Также документ виден в очереди на печать, и я могу печатать в файл.xps.
2 ответа
- Создайте Flowdocument и поместите ваше изображение в блок-документ FlowUIContainer.
- Найдите PrintQue, просматривая PrintServer
- Используйте следующий код для печати
IDocumentPaginatorSource flowDocument = You_Flowdocument;
var writer = PrintQueue.CreateXpsDocumentWriter(Your_printQueue);
DocumentPaginator documentPaginator = flowDocument.DocumentPaginator;
writer.Write(documentPaginator);
Вы можете установить размер этикетки, используя UserPrintTicket.PageMediaSize
а также Desity
через термопринтер dll.
Проблема в том, что вы не устанавливаете контроллер
printDocument.PrintController = new StandardPrintController();