发新话题
打印

技术问题:打印试用的插件问题

技术问题:打印试用的插件问题

我设置了受信站点 并且支持插件签名 但是预览无法正常使用 问一下 不需要采购printer 没有套打的需求 只是浏览器的打印使用 是否需要购买
详细见附件
附件: 您所在的用户组无法下载或查看附件

TOP

你这个是杰表,杰表是收费的,带控件的,所以我们一般不建议使用浏览器来打印。
至于简表,你确实可以这样做。你只要将其中的 tools\下的有关js改成对webbrowser调用就可以了,具体代码参照楼下。

TOP

具体请参照 : http://acdf111.javaeye.com/blog/441760

1)写一个javascrīpt函数,只要简单的一句话:

Java代码

  • function printPage()   
  • {   
  • document.all.WebBrowser.ExecWB(7,1);   
  • }  

function printPage() {document.all.WebBrowser.ExecWB(7,1); }
这个组件还有其他的用法,列举如下:
Java代码

  • WebBrowser.ExecWB(1,1) 打开   
  • WebBrowser.ExecWB(2,1) 关闭现在所有的IE窗口,并打开一个新窗口   
  • WebBrowser.ExecWB(4,1) 保存网页   
  • WebBrowser.ExecWB(6,1) 打印   
  • WebBrowser.ExecWB(7,1) 打印预览   
  • WebBrowser.ExecWB(8,1) 打印页面设置   
  • WebBrowser.ExecWB(10,1) 查看页面属性   
  • WebBrowser.ExecWB(15,1) 好像是撤销,有待确认   
  • WebBrowser.ExecWB(17,1) 全选   
  • WebBrowser.ExecWB(22,1) 刷新   
  • WebBrowser.ExecWB(45,1) 关闭窗体无提示   
  • WebBrowser.ExecWB(7,6) 直接打印  

WebBrowser.ExecWB(1,1) 打开 WebBrowser.ExecWB(2,1) 关闭现在所有的IE窗口,并打开一个新窗口 WebBrowser.ExecWB(4,1) 保存网页 WebBrowser.ExecWB(6,1) 打印 WebBrowser.ExecWB(7,1) 打印预览 WebBrowser.ExecWB(8,1) 打印页面设置 WebBrowser.ExecWB(10,1) 查看页面属性 WebBrowser.ExecWB(15,1) 好像是撤销,有待确认 WebBrowser.ExecWB(17,1) 全选 WebBrowser.ExecWB(22,1) 刷新 WebBrowser.ExecWB(45,1) 关闭窗体无提示 WebBrowser.ExecWB(7,6) 直接打印

2)html页中,<a class="Noprint" ōnclick="printPage" href="#">打印</a> ;
点击既可出来当前页的打印预览

3)可以在样式表中控制打印输出的内容:
Java代码


  • <style media=print>   
  • .OnlyPrintTitle{ display:inline;}   
  • .Noprint{display:none;}   
  • .PageNext{page-break-after: always;}   
  • </style>  

<style media=print>.OnlyPrintTitle{ display:inline;}.Noprint{display:none;} .PageNext{page-break-after: always;} </style>

说明:
a)media=print 表示这段样式对打印时起作用
b)OnlyPrintTitle:在非针对print的样式表中加入这个标签,并设置为display:none可实现只有打印时才显示的内容
c)display:none:表示打印时不显示,见2)中的html实例
d)page-break-after: always;遇到这个标记时,开始分页
Java代码


  • <object ID=‘WebBrowser‘ WIDTH="0" HEIGHT="0" CLASSID=‘CLSID:8856F961-340A-11D0-A96B-00C04FD705A2‘></object>   
  • <scrīpt type="text/javascrīpt">   
  • function print() {   
  • document.getElementById(‘WebBrowser‘).ExecWB(7,1);   
  • }   
  • </scrīpt>   

  • <OBJECT id=WebBrowser classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2 height=0 width=0></OBJECT>   
  • <input type=button class=button value=打印 ōnclick=document.all.WebBrowser.ExecWB(6,1)>   
  • <input type=button class=button value=页面设置 ōnclick=document.all.WebBrowser.ExecWB(8,1)>   
  • <input type=button class=button value=打印预览 ōnclick=document.all.WebBrowser.ExecWB(7,1)>  

TOP

很清楚呵呵 我发你消息了 一些商务上的问题 麻烦回复一下

TOP

对了 网站上几个联系的邮箱都发送不了邮件 呵呵 有什么具体的联系方式吗

TOP

jatools@gmail.com

TOP

这个帖子不错

TOP

我已按照这个方式做了,但并不能打印出正常报表,预览时只有两页,第一页是工具条,第二面是正常报表的第一页,且还有个外框。
附件: 您所在的用户组无法下载或查看附件

TOP

你大概调用了ie自带的打印按钮,或打印菜单。
如果安装了控件,必须点击左上角的打印按钮,才会正确打印。

TOP

我的确执行的是document.all.WebBrowser.ExecWB(7,1)。
我安装的是IE8

TOP

修改了tools下两个文件:
defaultviewer.jsp
toolsbar.jsp
附件: 您所在的用户组无法下载或查看附件

TOP

要修改的地方,是对的,就这两文件,但你只嵌入了webbrowser控件,和打印命令,而没告诉浏览器哪些对象要打印,哪些不打印,哪里分页,所以,你除上以上修改,还需要修改defaultviewer.jsp,toolsbar.jsp。将打印按钮这排工具栏,将设置成
<style media=print>   
.Noprint{display:none;}    // 凡是遇到Noprint类的对象,都不打印
.pcls{page-break-after: always;}    // jor输出的每一页,都会自动加上pcls,这里告诉浏览器,当打印完一个pcls的对象时,强制分页,这正是我们需要的
</style>
<div class='Noprint'><button>打印</button>...</div>

TOP

发新话题