当前位置:编程学习 > C#/ASP.NET >>

.Net 下web打印怎么打印计数啊?

我的项目用的ScriptX做打印控件,这个怎么能够有效的给打印计数?从而在打印的文件上能显示出是第几次打印. --------------------编程问答-------------------- 不太了解这个控件 不过应该是js实现的吧。你可以再js 打印的方法中 添加一个你自己的记数方法。 --------------------编程问答-------------------- 每调用一次打印,通过ajax,在数据库中记录一次打印,然后,下次显示打印页面时,把数据库中记录的打印次数,显示在页面上即可 --------------------编程问答--------------------
引用 2 楼 u011288557 的回复:
每调用一次打印,通过ajax,在数据库中记录一次打印,然后,下次显示打印页面时,把数据库中记录的打印次数,显示在页面上即可

这样计数觉得不太科学,因为点击打印后,弹出是选择打印机,那么我怎么捕捉这个点击了打印按钮? --------------------编程问答-------------------- 那你在点击打印按钮去计数,我没用过这个打印控件
--------------------编程问答-------------------- 弹出打印机  你怎么知道我点击没点击打印按钮?

所以按照目前来说 无解..

除非 你在底层直接打印 不调用打印机的页面 --------------------编程问答-------------------- 要是这样我觉得还是自己写个打印的插件自己比较好控制,也比较灵活,我们项目就是自己写的打印插件 --------------------编程问答-------------------- 这个控件我没用过,它的打印方法打印完成后有没有返回什么值,那根据它的返回值我们应该可以处理一些事情,我没有过乱猜的,猜错了不要笑哦 --------------------编程问答-------------------- <script>
function PrintAndGo() {
  if ( factory.printing.Print() )
    factory.printing.WaitForSpoolingComplete()
  window.close()
}
</script>
http://scriptx.meadroid.com/knowledge-bank/technical-reference/printing-factoryprinting/waitforspoolingcomplete.aspx
官网上的
factory.printing.Print() 的返回值应该就是代表是否开始打印的意思吧
--------------------编程问答-------------------- 你可以使用slivelight. 如果你只使用scriptx是无法实现的。 --------------------编程问答-------------------- scriptx没怎么研究,但我觉得,如果是8楼的方法,势必在打印机打印完之前,线程一直处于等待状态,用户啥也动不了,点击,键盘啥都没反应,用户会误认为死机了,显然,这种解决方案,不够理想。
我知道,有些打印控件,打印完了有回调,这种体验好些,比如,jatoolsPrinter有 done回调方法,如下所示:


var myDoc={ 
     done:function()
     {
          alert('大哥,我打印完了,你还有啥事情好让我做的?');
          // 这里可以用 ajax通知后台,打印加一次
     }
}
jatoolsPrinter.print(myDoc);


所以,你找一下,scriptx里,是否也有这种回调机制。 --------------------编程问答-------------------- 没研究过就别在这乱发言哦 --------------------编程问答--------------------

<script>
factory.printing.onafterprint = AfterPrint;

function AfterPrint() {
  alert("The document has been sent to the print spooler!");
}
</script>


http://scriptx.meadroid.com/knowledge-bank/technical-reference/printing-factoryprinting/onafterprint.aspx?id=1288

好好研究下人家官方文档吧,里面都说的非常清楚了, --------------------编程问答--------------------
引用 9 楼 xingdongfang 的回复:
你可以使用slivelight. 如果你只使用scriptx是无法实现的。


是的。silverlight可以让程序随意打印某个区域里的控件,并且可以在打印每一页内容是触发事件给程序捕获。 --------------------编程问答--------------------
引用 3 楼 asussony 的回复:
这样计数觉得不太科学,因为点击打印后,弹出是选择打印机,那么我怎么捕捉这个点击了打印按钮?


如果连点了“打印”还是“取消”都分辨不出来,都看成是“打印完毕”,那么那样的插件就别用了! --------------------编程问答-------------------- 我以前的一个silverlight管理系统,对于试用用户,打印时就是捕获 PrintPage 事件并为当前打印内容强行加上水印(图章),然后捕获 EndPrint 事件给贴上一个广告。每一个处理方法里只需要写上几行代码(把PageVisual对象取出来,上层覆盖图章,再把结果图层赋值给PageVisual)就可以了,silverlgiht进行企业开发非常方便。 --------------------编程问答--------------------
引用 12 楼 blueskybcl 的回复:

<script>
factory.printing.onafterprint = AfterPrint;

function AfterPrint() {
  alert("The document has been sent to the print spooler!");
}
</script>


http://scriptx.meadroid.com/knowledge-bank/technical-reference/printing-factoryprinting/onafterprint.aspx?id=1288

好好研究下人家官方文档吧,里面都说的非常清楚了,

这个是不是要付费才能使用? --------------------编程问答--------------------
引用 16 楼 java_hl_war 的回复:
Quote: 引用 12 楼 blueskybcl 的回复:


<script>
factory.printing.onafterprint = AfterPrint;

function AfterPrint() {
  alert("The document has been sent to the print spooler!");
}
</script>


http://scriptx.meadroid.com/knowledge-bank/technical-reference/printing-factoryprinting/onafterprint.aspx?id=1288

好好研究下人家官方文档吧,里面都说的非常清楚了,

这个是不是要付费才能使用?

也就是要注册码才能使用,有没有破解版的? --------------------编程问答--------------------
引用 16 楼 java_hl_war 的回复:
Quote: 引用 12 楼 blueskybcl 的回复:


<script>
factory.printing.onafterprint = AfterPrint;

function AfterPrint() {
  alert("The document has been sent to the print spooler!");
}
</script>


http://scriptx.meadroid.com/knowledge-bank/technical-reference/printing-factoryprinting/onafterprint.aspx?id=1288

好好研究下人家官方文档吧,里面都说的非常清楚了,

这个是不是要付费才能使用?

也就是要注册码才能使用,有没有破解版的?
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,