如何在C#中实现安全打印?

时间:2013-04-12 19:41:56

标签: c# printing printdocument

我需要将文档打印到打印机,以便在打印文档之前要求用户输入PIN。

到目前为止,在我的研究中,我看到的唯一方法是将文档打印到PRN文件,然后在binar中编辑文件以查找

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不足以容纳整个文档。我希望有一种更优雅的方式通过打印队列蒸汽到文档,这样队列就可以将它连接到打印机,因为它可以处理它。

非常感谢任何帮助。

谢谢,

理查德

1 个答案:

答案 0 :(得分:0)

那是因为它是一个打印机功能,可选择通过驱动程序公开,而不是Windows可以做的事情。