2014的打印.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Delphi开发WEB应用程序打印组件 一、引言   近些年来,随着互联网的普及和推广,传统的单机模式和局域中的c/s模式的应用程序越来越不能满足信息共享的要求。因此,一种新的基于浏览器的b/s的应用程序的开发方式被提了出来。新的开发方案以其客户端的免维护、免配置、程序能根据服务器的信息能够自动更新升级;服务器端多层模式的应有提高处理的效率和安全性越来越被广大的应用程序的开发者所看好。成为应用程序开发的一个新的发展方向。在windows的平台上,人们利用asp来开发服务的显示界面,而用组件来封装商业规则,在各种杂志上利用各种工具进行组件开发也是屡见不鲜。但介绍打印组开发却不怎么看到?收呦M妥砸芽⒋蛴∽榧囊坏阈牡锰寤崂磁鬃┮瘛? 二、设想   web打印组件要求是在一次为某单位开发信息管理系统中被提及的,这个系统中的一些票据需要打印。这样,如何对这些票据进行套打成了我们必须解决的问题。   要在客户端打印一些用户要求的票据或其它的文字或图片资料,有两种方式:一种是利用delphi的active form来生成客户端的界面,由浏览器下载安装,并在客户端运行。(这种方式在开发多后台数据库中,较为常用。在国内许多新版本的财务软件都采用了这种方法,其缺点是对开发人员的要求太高),另一种是开发一个组件在客户端安装,然后,由服务器端来生成vbscript脚本,在客户端运行、创建相应的组件对象;利用组件对象来进行打印操作。(这种方法只要客户端的com组件开发完成,使用者只要熟悉vbscript或javascript脚本语言就可能方便的调用)?疚奈颐侵饕致鄣诙址绞健? 三、实现   首先、运行delphi 5.0;选择file菜单中的new,在弹出的对话框中选择activex页,选择activex library创建activex库.然后,再往新建的库中加入一个automation object,操作步骤同上。在automation object wizard对话框中填入组件名prttest3;单击ok。   然后、在弹出的prttest3.tlb窗口中,选择iprttest3。单击右键新增一个isinit的property,类型为long。再继续增加如下5个method:   procedure prtcustompage(pagewidth: integer; pageheight: integer);    safecall;   procedure prtstart; safecall;   procedure prtnewpage; safecall;   procedure prtend; safecall;   procedure prtdrawline(x1: integer; y1: integer; x2: integer; y2:    integer; linewidth: integer); safecall;   procedure prtsetfont(const fontname: widestring; fontsize:    integer); safecall;   procedure prttextrect(valign: integer; halign: integer; rectleft:    integer; recttop: integer;rectright: integer; rectbottom:    integer; const printstring: widestring); safecall;   它们意义是:prtcustompage 用来设置自定义纸张.传入的参数自定义纸张的宽度和高度。 prtstart 用来初始化打印机。如果初始化成功,则将属性isinit置为真,反之则为假。  prtnewpage 用来使打印机换页。 prtend     结束打印任务。 prtdrawline 用来在页面上绘制一条线。(x1,y1)为起始点.(x2,y2)为终止点。linewidth为打印线的宽度。 prtsetfont 用来设置打印的字体名及大小。 prttextrect 用来指定的方框内的输出的指定的字符串。 Delphi开发WEB应用程序打印组件(2) 四、调用 在脚本中调用这个组件的方法: (1)、利用createobject函数创建一个打印对象。 (2)、调用prtcustompage来指定定制的纸张的大小(以0.1毫米为基本单位)。如果,不是定制的纸张则不需要调用这个过程(即以打印默认的纸张大小进行打印)。 (3)、调用prtstart进行打印机的初始化工作。如果打印机初始化成功,则会将isinit属性置为真,表示

文档评论(0)

sMDHVSLYyy + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档