您的位置:程序门 -> vb -> 基础类



如何使用printer实现类似word的打印设置功能?


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


如何使用printer实现类似word的打印设置功能?
发表于:2008-01-19 17:01:08 楼主
我想使用vb的printer实现类似word的打印设置功能,界面如下,点确定就可打印(打印内容随便测试点内容就可以了)
我使用的打印机是:epson   stylus   photo   r310   series(在打印机的设置选项里有个打印预览功能,我使用该功能调试)

我的打印代码如下,实现不了的功能有:
不能自定义设置纸张大小,网络上也查了些api的实现方法,但还是实现不了
不能设置页边距
不能进行多份打印,看来只能使用循环语句实现了
恳求各位帮忙,小弟不胜感激!
代码如下:
vb.net code
private sub cmdok_click() printer.scalemode = vbmillimeters printer.colormode = vbprcmmonochrome ' 单色输出 printer.height = val(txtpaperheight.text) * 10 printer.width = val(txtpaperwidth.text) * 10 if opth.value = true then printer.orientation = 1 '纵向打印 end if if optv.value = true then printer.orientation = 2 '橫向打印 end if printer.copies = val(txtpapercopies.text) printer.scalemode = vbmillimeters printer.scaleleft = val(txtleftmargin.text) * 10 printer.scaletop = val(txttopmargin.text) * 10 'printer.scalewidth = 291 printer.scalewidth = printer.width - val(txtrightmargin.text) * 10 - printer.scaleleft 'printer.height = val(txtbottommargin.text) * 10 - printer.scaletop 'printer.height = val(txtbottommargin.text) * 10 - printer.scaletop printer.currentx = 0 printer.currenty = 0 printer.fontbold = false printer.line (1, 0)-89, 0) printer.line (1, 0)-1, 53) printer.line (89, 0)-89, 53) printer.line (1, 53)-89, 53) printer.fontsize = 14 printer.font = "宋体" printer.currentx = 7 printer.currenty = 2 printer.print "xx学校成绩通知" printer.fontsize = 16 printer.currentx = 5 printer.print "成绩通知单" printer.fontsize = 14 printer.print " " printer.currentx = 5 printer.print "班 级:" printer.currentx = 5 printer.currenty = printer.currenty + 2 printer.print "姓 名:" printer.currentx = 5 printer.currenty = printer.currenty + 2 printer.print "成 绩:" printer.enddoc end sub

发表于:2008-01-21 14:26:431楼 得分:0
求教,顶下
发表于:2008-01-21 16:45:372楼 得分:0
printer.papersize可以设置纸张大小,纸张大小应该事先在os中设置好,然后在程序中选择。

页边距可以通过offset来做:
dim   xoffset   as   long
dim   yoffset   as   long
xoffset=10
yoffset=10
...
printer.font   =   "宋体"
printer.currentx   =   7+xoffset
printer.currenty   =   2+yoffset
printer.print   "xx学校成绩通知"
...

多份打印,用循环


快速检索

最新资讯
热门点击