如何设置打印机不是页打印????

Nebulaliu 2003-10-10 12:09:08
打印的时候,打印机总是以页为单位,打印以行也要打印页张纸,我不想让他以页为单位,我想让他以行为单位,有几行打印几行,请问在vb中怎么解决阿?可能这种情况最常见的应该是在pos打印机上啊,各位大哥大姐帮个忙,解决以下好吗?
...全文
77 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Nebulaliu 2003-10-13
  • 打赏
  • 举报
回复
谢谢楼上的大哥!!!我去研究研究
qiqunet 2003-10-10
  • 打赏
  • 举报
回复
很简短的一个打印程序:
bottom_margin = Printer.ScaleTop + Printer.ScaleHeight - 1000 '设定页脚厚度
Printer.CurrentY = TOP_MARGIN '设置页眉的厚度
Printer.CurrentX = LEFT_MARGIN '设置左边距
Printer.Print "print first row" '打印一行
Printer.CurrentX = LEFT_MARGIN '设置左边距 Printer.Print "print second row" '打印第二行
If Printer.CurrentY >= bottom_margin Then '判断是否到了页脚,如果不想分页(如post的形式)可不要此及其如下语句
Printer.NewPage'新的一页,不要这个就不退纸了
Printer.CurrentY = TOP_MARGIN
End If
Printer.EndDoc'退纸,不要这一行语句就不换页了
qiqunet 2003-10-10
  • 打赏
  • 举报
回复
下面是我的做法,不一定准确,如果你想求最优的做法,还望高手们指点一二,我也学习学习
在pos上打印,只需让打印机一行一行的打就行了,不用去理会纸的高度
打完你的正文后打两个空行使得打印内容完全卷出机内,并作为隔离界,撕下来时不易撕破打印内容。

Const LEFT_MARGIN = 400 '设定左边距

do … while … '按行循环执行打印内容
print_One_row = …… '获得一行打印内容
Printer.CurrentX = LEFT_MARGIN '设置左边距
Printer.Print print_One_row '将获得的那一行打印内容打出来
loop

Printer.CurrentX = LEFT_MARGIN '走两行纸,充分卷出打印内容
Printer.Print ""
Printer.CurrentX = LEFT_MARGIN
Printer.Print ""

Nebulaliu 2003-10-10
  • 打赏
  • 举报
回复
楼上的大哥可以再详细点吗?
Nebulaliu 2003-10-10
  • 打赏
  • 举报
回复
在pos打印机中打印的高度不定,我怎么控制他阿

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧