我正在研究.NET支票打印解决方案,其中安全性显然是一个巨大的问题。解决方案是使用System.Drawing.Printing命名空间来处理打印。一个例外是使用具有安全内存的打印机。签名图像直接存储在打印机上,唯一的方法(从我发现的)中取出它们就是直接使用PCL。因此,我的计划是打印到文件,注入适当的PCL以获取要打印的签名图像,然后将生成的PCL直接发送到打印机。
我已经成功测试了这种方法,但即使只是片刻,我也希望避免将打印文件放在文件系统上。有没有办法将输出重定向到MemoryStream或其他一些替代方法,以确保不能读取/篡改文件?
像这样打印到文件:
printDoc.PrinterSettings.PrintToFile = true;
printDoc.PrinterSettings.PrintFileName = "filename.prn";
printDoc.Print();