怎样可以得到当前打印机的各种属性???
包括纸张类型、自定义大小、以及打印首选项???
包括怎样在VB中去操作这些属性。
是不是要使用API函数?到底是哪个函数呀,最好给个例子。
包括纸张类型、自定义大小、以及打印首选项???
包括怎样在VB中去操作这些属性。
是不是要使用API函数?到底是哪个函数呀,最好给个例子。
解决方案 »
- vb 问题
- 有没有什么插件支持编译环境下鼠标滚轮的啊?
- 如何向一个窗体发送最大化消息?
- winsock
- 高手请进 条码打印问题 急!!!!!!!!!!!!
- 新手求助!
- 紧急!帮忙检查一下,有什么错?Data1.Database.Execute "update 库存表 set 箱数=trim(str(val(库存量)/val(每箱个数)))"
- 怎么编写文件上传到数据库 用Microsoft Internet Transfer
- 微软开通中文新闻组
- 我要把一个C程序改写成Basic的,但union联合在Basic里是用什么定义,或用什么代替
- 请问用vb6.0 如何解析xml文件
- 在自定义控件中,如果获得程序所在目录
Printer.
...
打印机颜色模式
常数 值 描述
vbPRCMMonochrome 1 单色输出
vbPRCMColor 2 彩色输出
双面打印
常数 值 描述
vbPRDPSimplex 1 单面打印
vbPRDPHorizontal 2 双面水平打印
vbPRDPVertical 3 双面垂直打印
打印方向
常数 值 描述
vbPRORPortrait 1 文档打印以纸的窄边作顶部
vbPRORLandscape 2 文档打印以纸的宽边作顶部
打印质量
常数 值 描述
vbPRPQDraft -1 草稿打印质量
vbPRPQLow -2 低级打印质量
vbPRPQMedium -3 中等打印质量
vbPRPQHigh -4 高级打印质量
PaperBin 属性
常数 值 描述
vbPRBNUpper 1 从上层纸盒进纸
vbPRBNLower 2 从下层纸盒进纸
vbPRBNMiddle 3 从中间纸盒进纸
vbPRBNManual 4 等待手动插入每页纸
vbPRBNEnvelope 5 从信封进纸器进纸
vbPRBNEnvManual 6 从信封进纸器进纸;但要等待手动插入
vbPRBNAuto 7 (缺省方式)从当前缺省纸盒进纸
vbPRBNTractor 8 从拖拉进纸器供纸
vbPRBNSmallFmt 9 从小型进纸器进纸
vbPRBNLargeFmt 10 从大型纸盒进纸
vbPRBNLargeCapacity 11 从大容量进纸器进纸
vbPRBNCassette 14 从附加的卡式纸盒进纸
PaperSize 属性
常数 值 描述
vbPRPSLetter 1 信笺, 8 1/2 x 11 英寸
vbPRPSLetterSmall 2 +A611 小型信笺, 8 1/2 x 11 英寸
vbPRPSTabloid 3 小型报, 11 x 17 英寸
vbPRPSLedger 4 分类帐, 17 x 11 英寸
vbPRPSLegal 5 法律文件, 8 1/2 x 14 英寸
vbPRPSStatement 6 声明书,5 1/2 x 8 1/2 英寸
vbPRPSExecutive 7 行政文件,7 1/2 x 10 1/2 英寸
vbPRPSA3 8 A3, 297 x 420 mm
vbPRPSA4 9 A4, 210 x 297 mm
vbPRPSA4Small 10 A4小号, 210 x 297 mm
vbPRPSA5 11 A5, 148 x 210 mm
vbPRPSB4 12 B4, 250 x 354 mm
vbPRPSB5 13 B5, 182 x 257 mm
vbPRPSFolio 14 对开本, 8 1/2 x 13 英寸
vbPRPSQuarto 15 四开本, 215 x 275 mm
vbPRPS1&H14 16 10 x 14 英寸
vbPRPS11x17 17 11 x 17 英寸
vbPRPSNote 18 便条,8 1/2 x 11 英寸
vbPRPSEnv9 19 #9 信封, 3 7/8 x 8 7/8 英寸
vbPRPSEnv10 20 #10 信封, 4 1/8 x 9 1/2 英寸
vbPRPSEnv11 21 #11 信封, 4 1/2 x 10 3/8 英寸
vbPRPSEnv12 22 #12 信封, 4 1/2 x 11 英寸
vbPRPSEnv14 23 #14 信封, 5 x 11 1/2 英寸
vbPRPSCSheet 24 C 尺寸工作单
vbPRPSDSheet 25 D 尺寸工作单
vbPRPSESheet 26 E 尺寸工作单
vbPRPSEnvDL 27 DL 型信封, 110 x 220 mm
vbPRPSEnvC3 29 C3 型信封, 324 x 458 mm
vbPRPSEnvC4 30 C4 型信封, 229 x 324 mm
vbPRPSEnvC5 28 C5 型信封, 162 x 229 mm
vbPRPSEnvC6 31 C6 型信封, 114 x 162 mm
vbPRPSEnvC65 32 C65 型信封,114 x 229 mm
vbPRPSEnvB4 33 B4 型信封, 250 x 353 mm
vbPRPSEnvB5 34 B5 型信封,176 x 250 mm
vbPRPSEnvB6 35 B6 型信封, 176 x 125 mm
vbPRPSEnvItaly 36 信封, 110 x 230 mm
vbPRPSEnvMonarch 37 信封大王, 3 7/8 x 7 1/2 英寸
vbPRPSEnvPersonal 38 信封, 3 5/8 x 6 1/2 英寸
vbPRPSFanfoldUS 39 U.S. 标准复写簿, 14 7/8 x 11 英寸
vbPRPSFanfoldStdGerman 40 德国标准复写簿, 8 1/2 x 12 英寸
vbPRPSFanfoldLglGerman 41 德国法律复写簿, 8 1/2 x 13 英寸
vbPRPSUser 256 用户定义
本示例使用 EndDoc 方法在打印完两页之后结束一个文件,该被打印的每页按正文行居中方式显示页号。要检验此示例,可将本例代码粘贴到一个窗体的声明部分,然后按 F5 键并单击该窗体。Private Sub Form_Click ()
Dim HWidth, HHeight, I, Msg ' 声明变量。
On Error GoTo ErrorHandler ' 设置错误处理程序。
Msg = "This is printed on page"
For I = 1 To 2 ' 设置 2 个迭代。
HWidth = Printer.TextWidth(Msg) / 2 ' 取得半宽。
HHeight = Printer.TextHeight(Msg) /2 ' 取得半高。
Printer.CurrentX = Printer.ScaleWidth / 2 - HWidth
Printer.CurrentY = Printer.ScaleHeight / 2 - HHeight
Printer.Print Msg & Printer.Page & "." ' 打印。
Printer.NewPage ' 发送新页。
Next I
Printer.EndDoc ' 打印完成。
Msg = "Two pages, each with a single, centered line of text, "
Msg = Msg & "have been sent to your printer."
MsgBox Msg ' 显示信息。
Exit Sub
ErrorHandler:
MsgBox "There was a problem printing to your printer."
Exit Sub
End Sub
KillDoc 方法示例
本示例使用 KillDoc 方法来终止当前打印工作。要检验此示例,可将本例代码粘贴到一个窗体的声明部分,然后按 F5 键并单击该窗体。Private Sub Form_Click()
For i = 1 To 40
Printer.CurrentX = 1440 ' 设置左边距。
Printer.CurrentY = (i * 300) ' 进页到下一行。
Printer.Print "This is line" & Str$(i) & " of text."
On Error Resume Next ' 捕获任何打印机错误。
If i = 26 Then
Printer.KillDoc ' 立即终止打印作业。
Printer.EndDoc
End
End If
Next i
End Sub
NewPage 方法示例
本示例使用 NewPage 方法在一页上打印出一行居中正文后开始一个新的打印页。要检验此示例,可将本例代码粘贴到一个窗体的声明部分,然后按 F5 键并单击该窗体。Private Sub Form_Click ()
Dim HWidth, HHeight, I, Msg ' 声明变量。
On Error GoTo ErrorHandler ' 设置错误处理程序。
Msg = "This is printed on page"
For I = 1 To 2 ' 设置 2 个迭代。
HWidth = Printer.TextWidth(Msg) / 2 ' 取半宽。
HHeight = Printer.TextHeight(Msg) /2 ' 取半高。
Printer.CurrentX = Printer.ScaleWidth / 2 - HWidth
Printer.CurrentY = Printer.ScaleHeight / 2 - HHeight
Printer.Print Msg & Printer.Page & "." ' 打印。
Printer.NewPage ' 发送新页。
Next I
Printer.EndDoc ' 打印完毕。
Msg = "Two pages, each with a single, centered line of text, "
Msg = Msg & "have been sent to your printer."
MsgBox Msg ' 显示信息。
Exit Sub
ErrorHandler:
MsgBox "There was a problem printing to your printer."
Exit Sub
End Sub
DriverName:返回 Printer 物件的驱动程序名称。
Port:返回连接端口。使用实例如下:Private Sub Command1_Click()
Debug.Print Printer.DeviceName
Debug.Print Printer.DriverName
Debug.Print Printer.Port
End Sub
Printer 物件还有很多好用的属性及方法,例如设定打印机的打印方向 (Orientation)、纸张大小 (PaperSize)、打印份数 (Copies)、打印品质 (PrintQuality)、放大缩小 (Zoom)...等,可以自行到线上手册或 Msdn 上查询!