VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1447|回复: 11

vb epson LQ300K定宽不定长单据打印的走纸控制问题求解

[复制链接]

1

主题

12

帖子

11.00

积分

新手上路

Rank: 1

积分
11.00
发表于 2020-3-4 16:00:01 | 显示全部楼层 |阅读模式
本人的软件中需要打印一个定宽不定长的单据,因为成本的原因,客户只使用LQ300K打印机,这种打印机专门用来打印连续纸,但因为是按页的形式打印,每次打印完成都会走一页或多页的纸,因为是整页的,往往会多走许多空白,使用人员每打印一次后就需要手动去拧打印机的轮滚,这不但麻烦,使软件看起来不正规,也会减少打印机的寿命,给客户带来不必要的损失!
    此单据是用来显示某数据的明细的,因为明细的行数不固定,可能会很多,也可能会很少,所以单据的长度无法固定,有时,可能会超过A4的一页,有时可能只有三四行内容,这样我就无法使用一个固定的自定义格式页来完成这个功能(使用自定义页的办法我已经找到了),因为自定义格式页的长度也是固定的
    我在网上找了很长时间,并没有哪个文章可以解决这样的问题,但我知道已经有人解决了这个问题了
    用代码写PaperMode=256是通不过的,简单的设置打印机的宽和高也不行,网上找到的使用API的代码都是用来动态加载自定义页的,也就是说,只能使用自定义的页的设置来打印,这不是我想要的
    解决问题的要求:必须使用LQ300K打印机,不论用什么方法,只要能让打印机打印完成后出纸出到准确的位置停下就可以
    本人想到的可能的办法有以下几种,当然想归想,没有一个实现了
    1.动态的生成一个自定义页面,使用这个页设置打印自然就不会有问题了,这是首选办法,但没有找到这个办法的实现方法
    2.设置一个自定义页面,页高就是行高,本人不想用这种办法来实现,也没有试验,因为这个单据中的字体大小不是一样的
    3.用行打的方法实现,可是,这样的话就需要使用控制符了,不好写不用说,也无法用报表预览的形式去表示,当然,如果实在没有办法了,这个方法也行
    本人水平有限,还没有想到能有别的办法实现它,希望各位高手百忙之余能抽出点时间帮忙解决,本人不盛感激!!!!!!!!
回复

使用道具 举报

0

主题

9

帖子

9.00

积分

新手上路

Rank: 1

积分
9.00
发表于 2020-5-18 18:30:01 | 显示全部楼层
我也用过LQ300K,不过不会象你说的打印完了会多走一页或多页啊,我是用二分纸,高度也就是14cm左右,并不怎么浪费。是不是打印机没有正确设置?
回复

使用道具 举报

1

主题

12

帖子

11.00

积分

新手上路

Rank: 1

积分
11.00
 楼主| 发表于 2020-5-19 14:30:01 | 显示全部楼层
谢谢你的回复,不过不是多走一页,而是会走满一页,另外,客户方面希望省纸,当然是正好走到刚好的位置是最好的
回复

使用道具 举报

0

主题

9

帖子

9.00

积分

新手上路

Rank: 1

积分
9.00
发表于 2020-5-20 07:45:01 | 显示全部楼层
不知道你用什么纸,一般来说应该选择合适规格的纸张吧?不然即使你走位合适了,裁剪下来后纸张不完整还不是一样浪费,不知道我理解的对不对。
回复

使用道具 举报

1

主题

12

帖子

11.00

积分

新手上路

Rank: 1

积分
11.00
 楼主| 发表于 2020-5-20 22:45:01 | 显示全部楼层
不是的,是连续纸,就是两边带孔的,一"张"纸大概有许多米,叠在一起,使用的时候都的连着的,出纸以后从出纸孔一撕就是一张单,问题正好是出纸的纸长度不能控制,那就要在打印完成后向回拧滚轮,到合适的位置再撕了,我的几个用户就是因为总拧滚轮,把滚轮拧坏了
回复

使用道具 举报

0

主题

9

帖子

9.00

积分

新手上路

Rank: 1

积分
9.00
发表于 2020-5-23 14:00:01 | 显示全部楼层
一"张"纸大概有许多米?
我用的也是连续纸,带孔的,24cm * 14cm 长度就是一页14cm。打印结束会自动走到最后一页的底边的。
回复

使用道具 举报

0

主题

8

帖子

7.00

积分

新手上路

Rank: 1

积分
7.00
发表于 2020-5-23 20:00:01 | 显示全部楼层
上楼说得对,不过有时候控制不好会打在两页连接的地方。
回复

使用道具 举报

1

主题

12

帖子

11.00

积分

新手上路

Rank: 1

积分
11.00
 楼主| 发表于 2020-5-25 23:45:01 | 显示全部楼层
呵呵,想不到你们是这样控制的,打在两页连接的地方无所谓,只要能在最后一行打印完成后停在想停的位置就行,纸的宽度是A4的一半,市里上卖的一般都是两"张"纸放在一起为一"包",型号为"120"
回复

使用道具 举报

0

主题

2

帖子

3.00

积分

新手上路

Rank: 1

积分
3.00
发表于 2020-6-9 22:30:01 | 显示全部楼层
以前遇到过自定义纸张大小的问题,在网上找的资料,解决了。

楼主的问题但是也考虑过,不过因为客户对最后一页纸张的浪费可以接受,所以就没再继续研究。  

看了楼主的帖子,刚刚有一个想法,没有实际操作,不知道是否可行,说说帮楼主拓展一下思路。

既然要求打印到哪里就停到哪里,我觉得可以理解为始终在一张纸上打印,如果能够让纸张大小的当前设置正好符合要打印的内容的话就能满足楼主的要求了。

能否这样实现,在打印之前 首先通过程序计算出要打印的数据内容需要多长的纸张,然后将纸张设置成相应的大小。

这样就又把问题转换成了自定义纸张大小的问题了,可能会好解决一点,起码网上能够搜索到技术资料。

回复

使用道具 举报

0

主题

2

帖子

3.00

积分

新手上路

Rank: 1

积分
3.00
发表于 2020-6-10 01:30:01 | 显示全部楼层
正好有空,我去试试上面的想法
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

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