设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 6323|回复: 8
打印 上一主题 下一主题

[报表] 如何设置POS机的打印纸张?根据打印内容走纸

[复制链接]
跳转到指定楼层
1#
发表于 2010-3-17 22:23:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我用的是POS打印机,打印纸是连续的卷筒纸。每次打印时,内容已打印完,但是,走纸却按照设置的页面进行,后面空了很大一部分纸,因此,很浪费纸张。
请问,如何设置,才能按照内容多少打印走纸?
谢谢了!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅

点击这里给我发消息

2#
发表于 2010-3-18 12:39:50 | 只看该作者
用自定义和纸张为关键字搜索一下,有很多例子
3#
发表于 2010-3-18 15:19:02 | 只看该作者
pos打印不是用报表的,是直接输出到打印端口。
4#
 楼主| 发表于 2010-3-18 21:44:01 | 只看该作者
谢谢楼上的两位朋友,能否指教详细点,谢谢了!!
5#
发表于 2010-3-18 23:00:28 | 只看该作者
open "lpt1" for output as #1
你查一下VB文档
6#
 楼主| 发表于 2010-3-19 21:34:00 | 只看该作者
谢谢tz-chf,我第一次接触打印方面的事,能否再给我指教详细点,或者给个实例,谢谢了!
7#
发表于 2010-3-19 23:42:39 | 只看该作者
很简单的事情,我另开一贴。http://www.office-cn.net/vvb/thread-80782-1-1.html
8#
 楼主| 发表于 2010-3-27 20:43:40 | 只看该作者
转载自网站http://topic.csdn.net/t/20030909/16/2241131.html 的一篇文章
我觉得不错,还没有来得及整理,现贴出来,供大家一起分享学习。

//   向LPT口打印一个文本文件   
  procedure   TPosFrm.PrintFile(AFileToPrint:   string);   
  var   
    Port,   FileToPrint:   TextFile;   
    ALine:   string;   
  begin   
    AssignFile(FileToPrint,   AFileToPrint);   
    Reset(FileToprint);   
    AssignFile(Port,   'LPT1');   
    Rewrite(Port);   
    while   not   Eof(FileToPrint)   do   
    begin   
        Readln(FileToPrint,   ALine);   
        Writeln(Port,   ALine);   
    end;   
    CloseFile(Port);   
    CloseFile(FileToPrint);   
  end;   
   
   
        //   打印小单   
        //   输出到文本,稍后再输出到LPT1端口;   
        OutFile:=ExtractFilePath(Application.ExeName)+'output.txt';   
        AssignFile(F,   OutFile);   
        Rewrite(F);   
        CompanyTitle:=SysParms.CompanyTitle+'购物清单';   
        CompanyTitle:=StringOfChar('   ',   (32-Length(CompanyTitle))   div   2)+CompanyTitle;   
        Writeln(F,   CompanyTitle);   
        Writeln(F,'--------------------------------');   
  //         Writeln(F,'收银机:'+EdPosID.Text+'           单号:'+EdSaleID.Text);   
  //         Writeln(F,'收银员:'+EdOpID.Text+   '           日期:'+EdSaleDate.Text);   
        Write(F,'收银员:',   Format('%-10s',   [STOpID.Caption]));   
        Writeln(F,   '单号:'+STSaleID.Caption);   
        Writeln(F,'日期:'+STSaleDate.Caption+   '     时间:'+FormatDateTime('hh:mm:ss',   Now));   
        Writeln(F,'--------------------------------');   
        //                   12345678901234567890123456789012   
        Writeln(F,'商品名称                   数量   单价     金额');   
   
        ADSSaleList.DisableControls;   
        ADSSaleList.First;   
        while   not   ADSSaleList.Eof   do   
        begin   
            MerName:=ADSSaleList.FieldValues['MerName'];   
            len:=Length(MerName);   
            if   len   <   18   then   
                MerName:=MerName+StringOfChar('   ',   18-len);   
            if   (len   mod   2)   =   0   then   
                Write(F,   Copy(MerName,   1,   18))   
            else   
                Write(F,   (Copy(MerName,   1,   17)+'   '):18);   
            Write(F,   ADSSaleList.FieldValues['Qty']:2);   
            Write(F,   FormatFloat('0.0',   ADSSaleList.FieldValues['Price']):6);   
            Writeln(F,   FormatFloat('0.0',   ADSSaleList.FieldValues['Amount']):6);   
            ADSSaleList.Next;   
        end;   
        ADSSaleList.EnableControls;   
   
        Writeln(F,'--------------------------------');   
        Writeln(F,'合计:',STHj.Caption:8,   '         让利:',   STRl.Caption:8);   
        Writeln(F,'实收:',STSs.Caption:8,   '         金卡:',   
                        FormatCurr('0.00',   CardPayment):8   
                        );   
        Writeln(F,'现金:',   
                        FormatCurr('0.00',   StrToCurr(EdCash.Text)-CardPayment):8,   
                        '         找补:',   STBack.Caption:8   
                        );   
        Writeln(F,'   ');   //空行,添加或减少空行即可控制出纸多少。   
        ...   
        PrintFile(Outfile);   //   输出文件到打印口     
   
   
   
  输出如下例:   
   
          XX化妆品世界购物清单   
  --------------------------------   
  收银员:01                 单号:000000329   
  日期:2003-07-16     时间:17:53:28   
  --------------------------------   
  商品名称                   数量   单价     金额   
  8g华美健强力消痘乳   4     16.0     64.0   
  小口红                           1       5.0       5.0   
  180g隆力奇蛇胆不紧   3     20.8     62.4   
  速效脱毛露                   2       7.5     15.0   
  美容海藻面膜               3     18.0     54.0   
  蕾琪唇彩                       1     12.0     12.0     
  .....   
  --------------------------------   
  合计:   2058.40         让利:         0.00   
  实收:   2058.40         金卡:         0.00   
  现金:   2100.00         找补:       41.60   
   
   
  因宽度只有58mm,故商品名切去部分。
9#
发表于 2010-5-16 16:25:49 | 只看该作者
这个问题好解决,只要你把你的实例放上来,看一下就知道了。我以前也遇到过这样的问题,但是现在解决了。好象没有上面的那么复杂。很简单的一回事。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-12-27 14:06 , Processed in 0.097216 second(s), 32 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表