如何在c#中实现安全打印

本文关键字:实现 安全 打印 | 更新日期: 2023-09-27 18:08:49

我需要将文档打印到打印机,这样用户在打印出文档之前需要输入PIN。

在我的研究到目前为止,我看到完成这一点的唯一方法是将文档打印到一个PRN文件,然后以二进制格式编辑文件,寻找

byte[] searchfor = System.Text.Encoding.ASCII.GetBytes(@"@PJL SET HOLD=OFF" + "'n" + "@PJL SET USERNAME='"SYSTEM'"");

并替换为

byte[] new_lines = System.Text.Encoding.ASCII.GetBytes(@"@PJL SET HOLD=ON" + Environment.NewLine + @"@PJL SET HOLDTYPE=PRIVATE" + Environment.NewLine + "@PJL SET HOLDKEY='"" + User_Pin + "'"" + Environment.NewLine + "@PJL SET USERNAME='"" + User_Name + "'"");

我觉得这有点傻。我没有在PrintDocument或PrinterSettings中找到任何似乎有帮助的东西。

虽然这是一个解决方案,但我们打印出大的图像文件,如果我们然后通过复制命令将其直接发送到打印机,那么打印机上的RAM就不足以容纳整个文档。我希望有一种更优雅的方式通过打印队列将文档发送到打印队列,以便队列将其发送到打印机,因为它可以处理它。

任何帮助都将是非常感激的。

谢谢你,理查德

如何在c#中实现安全打印

这是因为这是一个打印机的功能,可选择通过驱动程序暴露,而不是Windows可以做的。