Как напечатать изображение на термопринтере

Я пытаюсь напечатать изображение на термопечати:

   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();
Другие вопросы по тегам