用户
 找回密码
 入住 CI 中国社区
搜索
查看: 8557|回复: 8
收起左侧

B/S下,有什么好的打印方案吗?

[复制链接]
发表于 2010-1-19 20:17:17 | 显示全部楼层 |阅读模式
本帖最后由 consatan 于 2010-1-19 20:22 编辑

要打印的页面如图

pz.JPG

用的纸张是A4大小的,被等分成6份的硬卡纸,而且要把四周的页边距控制在5mm
因为客户端都是用IE,所以刚开始的时候简单的以为用IE的内置控件IEWebBrowser进行打印就行了
后来发现用IEWebBrowser控件控制页边距很难实现,主要是这控件要修改页边距的话,如果不人工参与的情况下,就得用JS脚本修改客户端的注册表,我在自己的电脑上测试时倒还好,但部署到服务器上时,IE8死活不让修改客户端的注册表,即使把权限调到最小了也不然修改...
没办法,放弃...

后来又看了ScriptX控件,发现这控件无法分页...放一边...先不去看它
然后又看了几个控件,都不是很理想
最后看到一个LODOP的控件,发现很不错,于是花了2天终于在LODOP控件下实现WEB多页打印了,但...

昨天晚上测试打印18页的内容,发现耗时近20秒,想说可能是我算法不好,所以今天早上又测试了下,就只是使用LODOP控件简单的预览18页的空白页,也花了10几秒,手边有一个别人用PowerBuilder开发的C/S环境的软件,测试了下它预览18页的时间...3秒左右...这差距实在...
想说反正也不是一直在打印,大概2、3天才打印一次,20来秒应该也不算什么...所以继续开发...结果等到这打印模块几乎完成的时候...发现...预览超过52页的话,其余的页数就变白页了...也就是我本来想打印55张,前52张都有正确的内容,但第53张之后就都是空白的...用最简单的Hello World测试,发现也是52页...也不知道是软件有限制还是什么(用的是免费版本,作者说明中说免费版和注册版就只有水印差别而已),而且预览52页的内容时,E5300的CPU占用率保持在55~65%,IE的内存占用也达1.1G左右,预览完如果不把IE关掉的话,内存不释放...用FireFox 3.5.7测试CPU占用率在50%左右,但内存占用达1.5G,也是不关掉就不释放内存

没办法...最后想说用FPDF生成PDF,然后再打印...可是...发现...客户端还是需要手动设置一些打印机的参数什么的,FPDF只能输出PDF,至于打印机的设置什么的,都得靠客户端手动设置了...这样的话...当初直接用IE的控件也行了啊...

唉...谁能介绍个好点的B/S环境下的WEB打印方案呢??
BTW,如果能顺便介绍个B/S环境下访问客户端串口数据的方案就更好了...用VB的MSCOMM控件不知道为什么在IE8下完全没反应...在VB6上已经测试成功读取我本地的串口数据了,但是根据网上的资料将MSCOMM控件添加到网页上却一点反应都没有(只是简单的在网页上打开本地串口,然后再用超级终端访问同一串口,结果超级终端获取数据成功,表明网页上的MSCOMM控件根本没访问串口...)
看到网上有资料说PHP可以使用文件形式访问串口,应该只能访问本地串口吧??
 楼主| 发表于 2010-1-20 14:56:46 | 显示全部楼层
后来想想...算了...预览部分就直接用HTML来展示了...然后直接打印的时候一次3页或几页的打印...
但这样就得调用LODOP的直接打印功能...使用这功能的话就会在打印出来的左下角添加水印...
发表于 2010-1-21 16:04:44 | 显示全部楼层
原来本科在PB做MIS的时候,我做过一套关于条码和打印的解决方案。其中条码用的是一种字体和附带的一个dll。至于web下的方案还真不了解。关注下。
发表于 2010-1-22 22:51:32 | 显示全部楼层
最近看了快逸报表。我建议你使用这个。直接调用url的接口来操作。免去套打等问题。
发表于 2010-1-24 00:14:11 | 显示全部楼层
应该有此类的ocx包,但是B/S下打印确实是个弱项,一般需要和硬件配合的客户端我都是用delphi做的,然后用webservice和服务器交互。
发表于 2010-3-15 11:53:08 | 显示全部楼层
LODOP,不错,谢谢分享。
 楼主| 发表于 2010-4-1 23:49:10 | 显示全部楼层
LODOP,不错,谢谢分享。
conqweal 发表于 2010-3-15 11:53

作者也很热情,是最重要的,我提交了几个BUG,他都第一时间就修复,并很热情的回复我的mail...
发表于 2011-1-15 11:32:56 | 显示全部楼层
http://www.cnblogs.com/dong0738/
这个博客中有一篇文章可以较完美的解决这个问题,而且这个控件是永久免费的。
发表于 2017-3-5 09:13:45 | 显示全部楼层
你可以试试康虎云报表,完全可视化设计打印模板,轻松实现你的需求。下载地址: http://www.cfsoft.cf/category/download

本版积分规则