连续纸的打印
我想把DW上的内容安定制定长打印到连续纸上,帮帮我,一定有分。
谢谢!!!!!!
问题点数:50、回复次数:6Top
1 楼rabbitsfoot(大哥)回复于 2002-04-01 17:11:43 得分 25
http://www2.ccw.com.cn/tips/9907/073003_10.asp
Top
2 楼rabbitsfoot(大哥)回复于 2002-04-01 17:12:45 得分 0
http://www2.ccw.com.cn/tips/9907/073003_10.aspTop
3 楼jiazhij(雨中漫步)回复于 2002-04-01 17:36:59 得分 15
我帮你把那个网页上的内容帖出来,分就不用给我了
实用技巧
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
4 楼fiend_terminator(终结者)回复于 2002-04-01 17:59:08 得分 0
请问,楼上 你实际用过吗?
但是我用后数据并不连续,还是分页打印。Top
5 楼rdb0508(罗宾冉)回复于 2002-04-01 18:18:34 得分 0
jiazhij 的回答是正确的,你在试试
Top
6 楼fiend_terminator(终结者)回复于 2002-04-01 18:47:57 得分 10
行什么行,根本就不行,耗费了我好几张打印纸!
这段程序只能定行,但不能连续打印不同的数据窗口。
因为:printdatawindow(ll_job,dw_print)就是
告诉PRINTER起用新的一页打印数据窗口(从PB帮助得到)Top
7 楼tainy(海风)回复于 2002-04-01 18:58:22 得分 0
终结者说的对,具我观察,好像不好用。Top
8 楼rabbitsfoot(大哥)回复于 2002-04-01 19:51:13 得分 0
你前面有讲是多DW打印吗?多DW打印有那么容易吗?前段时间有个贴子,你自己找找吧!Top




