CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
花落谁家,你作主! 盛大widget设计大赛英雄榜
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  PowerBuilder >  API 调用

如何解决PB中打印发票时控制松下1131打印机自动回退一点?

楼主shi_jm(飞扬)2002-10-23 21:41:21 在 PowerBuilder / API 调用 提问

我在用松下1131针式打印机打印发票的时候,每次打完一张,打印机自动走纸到下一张时位置总是不对,要手工回退一部分,大概一行的距离,请教如何通过程序控制?  
  我看了打印机说明书里有这样的指令:名称   十进制   十六进制   参数   功能  
  ESC"j"n   106   6A   (0<=n<=255)   十进制   以n/180英寸为距离,退纸一行,不知该如何用? 问题点数:100、回复次数:5Top

1 楼pufan()回复于 2002-10-23 21:46:04 得分 50

这篇文章可能对你有帮助.  
   
  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)  
  Top

2 楼shi_jm(飞扬)回复于 2002-10-23 21:47:34 得分 0

非常感谢!!!Top

3 楼sdav(ASP.net学习中)回复于 2002-12-19 10:35:40 得分 10

你是做什么软件的呀,可以做个朋友么?我也是做发票打印的,十分专业哦!  
  从增值税票,到卷筒票,手工票,无一不通!Top

4 楼nettang(唐朝)回复于 2002-12-19 18:33:50 得分 30

我用的也是1131的,我感觉这款打印真的没得说,     棒极了,价格同300K差不多,不过速度快多了,质量也好.我们也是用这个打发票的,从来没有出现你的这个问题,不过我最初调试程序的时候也出现你这个问题,发现是打印的驱动程序没有装对,后来更正后就好了,你要装最新的1131驱动程序,   如果在windows2000下最好用Star   2400   驱动程序!Top

5 楼jdf226(捷峰)回复于 2002-12-30 11:22:46 得分 10

我用vc编了一个dll你可任意设置Top

相关问题

  • 保存pb的打印机设置
  • pb中打印机的选择。急!
  • 为了使打印机能够回退纸,在delphi中如何调用BASIC程序(说明书中给的)?
  • 普通喷墨打印机能不能打印发票大小的纸张?
  • 同一台打印机要打印两种格式的发票怎么办?
  • EPSON LQ-300K中套打发票时,如何设置打印机调整两张发票之间的距离,?
  • 如何用PB来控制打印机,使打印机处于高速打印状态??
  • pb下如何使用打印机?要一行行打的!
  • pb中怎样取得打印机设备的场景句柄?
  • PB中如何调用打印机的函数?

关键词

  • 松下
  • 回退
  • 打印机
  • 松下1131
  • 发票

得分解答快速导航

  • 帖主:shi_jm
  • pufan
  • sdav
  • nettang
  • jdf226

相关链接

  • PowerBuilder类图书
  • PowerBuilder类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo