许多web应用的开发中都会涉及到票据打印的功能。常用的Web打印实现的方式有:

1.浏览器打印接口
调用window.print()方法,调用打印机功能打印当前窗口的内容,与单击浏览器的打印按钮效果一致。示例代码如下:

<html>      <body><p>一些文字内容......</p><button onclick="window.print()">打印当前页面</button></body>
</html>

优点是打印对话框功能很全面,甚至如火狐浏览器直接就是调用了系统的打印对话框,对于设置打印格式之类的非常方便。浏览器打印的缺点是只能打印当前的html页面,并且分页不受控制。

2.pdf
利用浏览器的pdf插件打开pdf文档,或者生成文档供用户下载后本地打印。优点是打印内容的格式比较容易控制,适合票据套打。并且打印功也很丰富。缺点是无法连续打印多份pdf文档。

3.Active X
这种方式就是下载一个控件,票据的数据不再以html方式呈现,而是呈现在ActiveX中。优点是打印内容的格式可控性好,但缺点也是很明显的,嵌入ActiveX控件破坏了web应用的整体html风格,且这样的控件比较大(一般超过1M),下载颇费时间)。市场上的非java类报表产品,一般都采用这种方案。

4.Applet
利用Applet在客户端执行的特性,使用java PrintService包进行打印。这种方式的优点是可以媲美桌面程序的打印控制,缺点是Applet需要下载,并且Applet实现的打印对话框用java UI库,风格上也与html不统一。

在此项目中,客户要求打印多种票据,数据自动套打在预先印刷的票据纸张上,并且一次操作后需要对系统中全部用水户连续打印多张不同数据。考虑到对打印内容的精确控制和连续打印的需求,最终选择了Applet+pdf的方案,将在下一篇中详细介绍。

web应用票据打印实现(一)相关推荐

  1. web应用票据打印实现(四)

    上一篇中,我们已经通过iText生成了共打印的pdf文档,如果没有特别的要求,利用浏览器的pdf插件来预览和打印已经能供满足我们Web应用在浏览器端实现票据套打的要求了.但在我们的项目中,客户要求一次 ...

  2. web应用票据打印实现(三)

    itext是一个开源库,用以动态的创建.修改pdf文件.通过itext,我们就可以在上一篇创建的pdf模板中填入数据,生成供打印用的pdf文档了. 首先我们需要打开模板,者通过创建一个PdfReade ...

  3. 票据打印, 账单打印, 标签打印, 文档打印, 条码打印, 批量打印, 包装纸打印与设计,可变数据打印打印,发布,VC++源代码组件库解决方案...

    票据打印, 账单打印, 标签打印, 文档打印, 条码打印, 批量打印, 包装纸打印与设计,可变数据打印打印,发布,VC++源代码组件库解决方案 使用E-Form++源码库开发任何标签,票据,文档,条码 ...

  4. 票据打印, 银行账单打印, 标签印刷, 文档打印, 条码打印, 批量打印, 包装纸打印与设计,可变数据打印,数据库印刷,HMI报表打印,VC++源码库解决方案

    票据打印, 银行账单打印, 标签印刷, 文档打印, 条码打印, 批量打印, 包装纸打印与设计,可变数据打印,数据库印刷,HMI报表打印,VC++源码库解决方案 -- 全球领先.100%源码全开放.可用 ...

  5. 关于Web报表FineReport打印的开发应用案例

    报表打印是报表使用和开发过程中经常碰到的问题,这里汇总了关于Web报表开发打印功能的一些典型应用案例,以应用最广泛的FineReport为例. 案例一:java直接调用报表打印 当java后台定义定时 ...

  6. netty 游戏服务器框图_基于Netty和WebSocket协议实现Web端自动打印订单服务方法与流程...

    本发明涉及电子商务技术领域,尤其涉及一种基于netty和websocket协议实现web端自动打印订单服务方法. 背景技术: 电子商务是以信息网络技术为手段,以商品交换为中心的商务活动:也可理解为在互 ...

  7. 在WEB中实现打印分页

    在WEB中实现打印分页 page-break-after版本:CSS2 兼容性:IE4+ 继承性:无    语法: page-break-after : auto ¦ always ¦ avoid ¦ ...

  8. Web送货单打印管理系统毕业设计

    技术:Java.JSP等 摘要: 随着现在社会经济的快速发展,越来越多的企业都在逐步实现办公自动化,对于一些物流企业来说更是如此,我国的物流企业发展一直以来就落后于欧美,日本等物流业高度发达的国家,所 ...

  9. ReportViewer单据票据打印,自动分页,每页显示固定行数,每页都显示表头

    报表工具用来用去,其实还是微软自带的ReportViewer比较轻量好用,一般需求完全够用.只是由于不常用,总会有解决一个问题过段时间又忘了怎么解决的问题.索性整理一下,当作笔记了. 在票据打印的时候 ...

最新文章

  1. python计算四元素组合算法_python – 算法,列表元素之间的最近点
  2. Android使用ListView控件问题
  3. android九宫格密码源码,Android九宫格解锁的实现
  4. php输出语句中怎么嵌套计算,PHP嵌套输出缓冲代码实例
  5. ajax中get请求url传参数
  6. 网络博客营销之博客设置和优化
  7. 管螺纹如何标注_外螺纹、内螺纹的画法,非标准螺纹的画法,你还会画吗?
  8. vb语言和python语言_用VB“写”Python程序
  9. php 检测字符长度,php验证字符串长度问题
  10. android studio gradle下载失败处理
  11. [电路笔记]正弦稳态电路分析
  12. seaweedfs部署及使用(兼容Hadoop)
  13. 思辨与创新 第二章 展开论证:如何让自己的想法被证明?
  14. 如何提高英文的科研写作能力——施一公
  15. linux测试usb显示速率,linux 测试usb写入和读取速度
  16. NVIDIA TITAN XP 显卡直通(Pass-through)求助
  17. 软工实践 - 第十一次作业 Alpha 冲刺 (3/10)
  18. 北京中医药大学计算机应用基础作业1,北京中医药大学远程教育“计算机应用基础”第5次作业.doc...
  19. VS2008下编写Colors应用程序
  20. matlab谐振峰值,谐振峰值Mr怎么求?

热门文章

  1. SQL数据库基础语法总结
  2. 怎么将pdf文件压缩的小一点
  3. 全自动百度推广引流软件
  4. video标签只播放返回视频资源的一部分
  5. 2020中考可不可以用计算机,2020中考必读 | 中考电脑阅卷流程“潜规则”!读完孩子少丢20分!(转给中考生)...
  6. 【L2-030 冰岛人】天梯赛L2系列详解
  7. 下载安装 Lubuntu 14.04.1 系统
  8. 【MATLAB appdesigner】13_如何实现多个app界面的交互(1)(有实例,包含demo代码)
  9. 小米官网登陆页面制作
  10. 硬盘数据丢失怎么办?一招轻松恢复硬盘数据!