2010-09-28 37 views
1

环境:ASP.NET Framework 2.0的如何打印与HTML不同的Web浏览器响应?

是否有可能完成这样的事情:

我有这个链接<a href='printBarcode.aspx?code=HF54A'>Print Bar-code</a>和我想打印服务器该链接发送响应。这甚至有可能吗?答案是文字,但不是HTML,是特殊打印机识别的用于打印条形码的文本。

想法是这样的:用户点击链接,然后浏览器收到该链接的响应并提示打印它的内容。

如果你认为你知道更好的方法来做到这一点,我很乐意收到所有的建议和意见。

回答

0

不,浏览器没有打印除窗口内容以外的任何功能。您无法获取返回的并直接发送到打印机的响应,但最接近的方法是在iframe中显示响应并要求输出iframe内容。如果浏览器不知道如何可视化和打印回复,则无法在浏览器中使用打印功能进行打印。

如果您想将响应直接发送到打印机,则必须在浏览器中运行可直接访问打印机的组件(flash/silverlight/Java)。

0

您可以返回一个只是条形码文本的页面,并自动弹出打印对话框。

<script type="text/javascript"> 
window.print(); 
</script> 

但我不认为这会奏效。我假设浏览器不会以正确的格式将其发送到打印机。

问题是ASP.NET无法访问服务器端代码中的本地打印机。要做一些自定义打印,你可能不得不依靠Flash或Silverlight,如果页面的普通打印不起作用。

0

您可以将响应中的文本放入[div id =“textToPrint”]并调用javascript print()。如果你可以使用一个弹出窗口打开链接[A HREF = '?printBarcode.aspx码= HF54A']你可以有一个poopup页面,如:

[HTML] [身体的onLoad = “打印();” ]

[DIV ID = “textToPrint”]您的文字FROM反应[/ DIV]

[/机构] [/ HTML]

在这种情况下

打印机只打印你的文本.. 。