【发布时间】:2011-04-08 20:16:56
【问题描述】:
我需要创建一个打印支票的 Web 应用程序。由于程序的性质,它需要非常安全,并且每个操作都需要记录。我需要能够生成支票、打印支票、在需要时允许重印等等。
我已经完成了支票的生成。我决定制作一个 PDF(这样我就不会得到任何浏览器页眉/页脚垃圾)。我想做的甚至不是将该 PDF 保存到文件中,而是将数据直接发送到打印机。基本上,我希望用户输入支票金额,选择要打印的帐户,然后单击一个按钮,将该支票的数据直接发送到打印机。我什至不希望用户能够查看要打印的 PDF。
有没有人在 ASP.NET 中做过类似的事情?
谢谢。
[编辑]
我最初提出的问题是用 ActiveX 控件回答的。然而,我决定用不同的方式来做这件事。我决定创建一张支票背景的图像,而不是打印 PDF。然后,我将使用该图像 (.jpg),并通过使用 System.Drawing.Graphics 在其上放置适当的文本(MICR 行、金额、检查日期等)来操作它,并将 X、Y 坐标和字体首选项存储在我的D B。从那里,我可以使用 System.Drawing.Printing 命名空间将新的 .jpg 文件从 Web 服务器发送到网络打印机,从而消除对 activeX 控件的需要并进一步加强安全性,因为完成检查的新图像永远不会已保存,并且用户永远无法访问支票的覆盖层。
感谢您的帮助。
【问题讨论】:
-
仅仅使用一个网站(没有 activex,单击一次应用程序,java 小程序)你将无法做到这一点。如果您曾经研究过在 WinForms(我知道,题外话)应用程序中进行打印,我什至不确定那里的默认安全级别是否允许您执行此操作。试想一下,如果网页可以在没有用户交互的情况下打印到打印机上,一个流氓、恶意软件感染的网站会做哪些邪恶和令人不安的事情,在他们通过联邦法律禁止垃圾传真之前,它会和你的传真机一样糟糕,实际上可能更糟,当时打电话要花真钱。