C# .net打印问题 我在本地调试,是可以打印的,但是发布到IIS上,就没有反应了,想知道解决方法

我建了个类,专门控制打印,在button按钮的click事件中调用类进行打印,用的是针式打印机,可是发布后,在我现在的电脑上就没法打印了,服务器和应用端不是同一台电脑,先... 我建了个类,专门控制打印,在button按钮的click事件中调用类进行打印,用的是针式打印机,可是发布后,在我现在的电脑上就没法打印了,服务器和应用端不是同一台电脑,先谢谢各位大侠了,急! 展开
 我来答
dengjun9452005
2011-04-26 · TA获得超过655个赞
知道小有建树答主
回答量:144
采纳率:0%
帮助的人:185万
展开全部
你的程序应该是ASP.NET的
首先 基于WEB的打印需要脚本来实现。通常有JS控制的。或者ACTIVE控件控制的。
由于你没有贴出来代码
我初步分析了你的原因。
1,写了基于打印的类。可能你的打印调用的是本地打印机资源。在本地调试的时候通过。而发布到服务器的时候。服务器上没有打印机。或没有调用打印机的权限。
这种错误将导致用户永远实现不了打印。只能在IIS托管服务器上实现。
2,如果你的打印类是基于生成打印内容到页面。然后调用JS函数,或者IE内置的打印,或者actiov控件的打印功能实现的。那么你要查看下用户浏览器的安全级别。IE安全设置里是否仅用了浏览器打印选项,等。希望对你有帮助。或者贴出打印代码帮你分析下
更多追问追答
追问
谢谢你,应该是你说的第一种情况,因为字数限制,我把它放在空间里了
http://hi.baidu.com/xiaojiaxueyu/blog/item/9cf075611d3b3d52ebf8f890.html
谢谢你,麻烦你了,那具体应该怎么解决呢
追答
我看了你的代码。你对ASP.NET的机制还不是太了解。
你的打印代码原理是将打印内容以流的格式输出给打印机,实现打印的。而ASP.NET是不能实现服务器访问客户端打印机的。所以你的代码只能实现在部署的服务器上打印。

比较简单的常用解决办法就是
调用ie的打印方法。将需要打印的内容输出的页面。打印输出的内容。
这个有个技巧就是通常我在开发项目的时候都是用HTML做好打印模板。
模板的特点就是 格式固定。木板上长宽都是像素定死的,没有%宽度的出现。(比如实现套打)然后在需要替换字符的位置标记特殊符号。比如[$name] 在打印前读取模板 将[$name] 替换为名称。将模板内容输出的页面。调用打印

以下是我摘抄的打印脚本你可以变通下实现自己的功能

//打印""与""之间的内容。
function preview()
{
bdhtml=window.document.body.innerHTML;
sprnstr="";
eprnstr="";
prnhtml=bdhtml.substr(bdhtml.indexOf(sprnstr)+17);
prnhtml=prnhtml.substring(0,prnhtml.indexOf(eprnstr));
window.document.body.innerHTML=prnhtml;
window.print();
}

本部分以上不被打印

本部分以下不被打印

@media Print { .Noprn { DISPLAY: none }}

不打印

打印

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式