UWP直接从Windows应用程序打印而不带打印对话框

时间:2016-01-27 05:55:20

标签: c# printing uwp

  1. POS打印机是否只支持Epson打印机? (与https://msdn.microsoft.com/en-us/library/windows/apps/mt426652相关)

  2. 如何在不显示“打印对话框”的情况下将文档直接发送到打印机?

1 个答案:

答案 0 :(得分:5)

  

ESC / POS是Epson在各种POS打印机系统中使用的命令系统,旨在通过提供通用的适用性来避免不兼容的命令集。大多数现代打印机都支持ESC / POS。

所以,对于你的第一个问题,我认为答案是否定的。此POS printer API可用于支持ESC / POS的所有打印机。请参阅Epson ESC/POS with formatting

对于第二个问题,使用POS printer API,您可以在没有打印对话框的情况下进行打印。

但我认为,你想要的是Windows.Graphics.Printing namespace。对于在UWP应用程序中的此打印,必须显示打印预览UI以指导用户完成打印操作。

您可以参考官方POS printer samplePrinting sample

2016年2月1日更新:

  

使用POS打印机API,您可以在没有打印对话框的情况下进行打印。

@Seb,这是我个人的结论,POS打印机的官方文档没有提及任何关于UI对话的内容。

但是在文档和官方样本的简短示例中,当我们使用pos设备进行打印时,我们首先创建一个打印作业,然后使用我们要打印的内容调用PrintLine(string)方法,最后,我们用ExecuteAsync方法执行它/它们,这个方法

  

以异步方式在收据打印机工作站上运行打印作业。

在此过程中,与普通打印不同,我们不会显示任何对话框。在正常打印中,当我们想要从我们的应用程序打印文档时,我们调用ShowPrintUIAsync()方法,此方法将显示一个对话框,为用户提供指导,帮助他们完成与打印相关的oricess。

@Hamed,这台Pos打印机API无法支持那些没有ESC / POS的设备,我不确定是否可以通过串口向打印机发送命令并从中获取响应,我认为您可以阅读打印机的开发文档。