学院首页 软件应用 编程开发 创意设计 认证培训 软件论坛
ASP ASP.NET PHP JSP SQL MYSQL Java VB

您的位置:学院 >> 编程开发 >> PowerBuilder >> Pb中定制打印页长实现连续打印


Pb中定制打印页长实现连续打印



---- 在使用连续纸打印数据窗口的情况下,需要定制打印的页长,以保证打印机走纸正确,不用人工干预,实现连续打印。在PB中须调用外部函数来自定义纸张长度,比较繁琐。本文介绍一种直接对打印机的控制方法,简单实现对页长的设定。

---- 一、 预备知识

---- 计算机与打印机的通讯使用ASCII码进行,其中标准ASCII码包括可打印字符及非打印字符(控制码),打印机使用控制码来定制打印机。大多数打印机指令使用控制码escape作为其指令序列的第一个序列码。下面介绍本文用到的几个指令码序列:

设置换行量(行距)1/8 英寸
ASCII码 ESC 0
十进制码 27 48

设置以行为单位的页长
ASCII码 ESC C n

十进制码 27 67 n
其中n 为每页行数范围(1-127)
---- 二、 PB中控制码的传送及定制页长的实现

---- 在PB中通过函数Printsend(printjobnumber,string,{zerochar})来实现向打印机发送控制码。各参数定义如下:

printjobnumber: 由printjob()函数返回的打印作业号;
string: 控制字符串,使用ASCII码;
zerochar: 用来替代string中的数字0;
---- 由于字符串中,0终止字符串,如果string 中包含0,则需利用其他字符来表示0,参数zerochar即为此用途而设,当PB发送控制字符串给打印机时,把替代的字符zerochar转化为0。

---- 下面是具体的完成定制页长打印数据窗口的程序(定制页长为2.75英寸):

long ll_job
dw_print.reset()
ll_job = printopen()
if ll_job = -1 then
messagebox(gs_title,"打印机未准备好")
return
end if
//定制行距1/8英寸
PrintSend(ll_job, CHAR(27)+CHAR(48))
//设定页长22行
PrintSend(ll_job, CHAR(27)+CHAR(67)+CHAR(22))
printdatawindow(ll_job,dw_print)
printclose(ll_job)

  
技术文章快速查找

栏目导航
软件应用
·操作系统 ·杀毒防黑 ·应用软件
·聊天软件 ·网络软件  
Web开发
·ASP ·JavaScript ·CGI
·JSP ·VbScript ·Web服务器
·PHP ·XML  
开发语言
·VB ·VC ·ASP.NET
·Java ·C/C++ ·Delphi
数据库开发
·MySQL ·SQL/Access ·PowerBuilder
·Oracle ·DB2  
网站设计
·Flash ·Dreamweaver ·HTML/CSS
·Fireworks ·FrontPage  
平面设计
·Photoshop ·CorelDraw ·AutoCAD
·FreeHand ·Illustrator ·3DsMAX
媒体动画
·Director ·Authorware ·Maya
·视频处理    


相关软件 产品库推荐
·笔记本 ·台式机 ·服务器
·数码相机 ·手机 ·GPS
·DV摄像机 ·MP3 ·MP4
·CPU ·硬盘 ·内存
·主板 ·显卡 ·显示器
·打印机 ·投影机 ·路由器

好象对EPSON 300K没有作用啊.
...
游客 发表于2008-6-28 19:24:03
对"Pb中定制打印页长实现连续打印"的评论 - 快速回贴
内容:
  [完成后可按Ctrl+Enter发布]

百度中 Pb中定制打印页长实现连续打印 相关内容
Google搜索中 Pb中定制打印页长实现连续打印 相关内容
雅虎中 Pb中定制打印页长实现连续打印 相关内容
Sogou搜索中 Pb中定制打印页长实现连续打印 相关内容

相关软件 最新回复帖子:

·Pb中定制打印页长实现连续打印
·AutoCAD绘制立体六棱铅笔全过程
·在AutoCAD中输入上下标文字
·AutoCAD初学者如何有效提高绘图速度
·用AUTOCAD五个简单命令绘莲花图案
·AutoCAD三维造型--弹簧的简单画法
·2007年Autodesk大师获奖者介绍
·在VB环境中操作三维模型的实现方法
·万年历的程序代码
·3DsMAX制作印有世界杯球星的易拉罐


  相关软件 Pb中定制打印页长实现连续打印相关文章