以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  标签打印时会先空走一段及纸张设置?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=107081)

--  作者:lyx4040
--  发布时间:2017/9/21 8:56:00
--  标签打印时会先空走一段及纸张设置?


图片点击可在新窗口打开查看此主题相关图片如下:img_20170921_000145_hdr.jpg
图片点击可在新窗口打开查看

 

 

1.纸张大小应该设置为多少?

 

2.打印的时候会先空走2张纸,不知道如何解决?

 

3.还有,就是代码设置打印数量无效,怎么设置都是打印1张?

 

Dim doc As New PrintDoc()

doc.PageSetting.Width = 100
doc.PageSetting.Height = 50
doc.AutoRotate = False 

\'此处是代码添加打印内容

Doc.PageSetting.ToPageSettings.PrinterSettings.Copies = 5  \'这句无效,设置成多少都打一张,而且也会先空走2张再打印

Doc.PrinterName = "TSC TTP-244 Plus"
Doc.Print


[此贴子已经被作者于2017/9/21 8:59:01编辑过]

--  作者:有点甜
--  发布时间:2017/9/21 9:24:00
--  

1、添加纸张

 

http://www.foxtable.com/webhelp/scr/2904.htm

 

2、试试指定对应纸张

 

http://www.foxtable.com/webhelp/scr/1189.htm

 

http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=54472&skin=0

 

3、打印多张,这样处理


Dim ps As new System.Drawing.Printing.PrinterSettings

ps.Copies = 2   \'设置份数

doc.Print(ps)     \'打印


--  作者:lyx4040
--  发布时间:2017/9/22 9:54:00
--  
添加纸张 后 空走纸的问题好了。
打印的页数也可以了。
但是所有的字都变小了,大概缩成了一半大小。10mm 变成了 5mm

    rt.Height = 10 \'高度为10毫米    ,实际打出来只有5mm


--  作者:有点甜
--  发布时间:2017/9/22 10:03:00
--  

 height设置的是控件的高度,不是字体的高度。

 

 如果你字体需要弄大一下,就设置一下字体 http://www.foxtable.com/webhelp/scr/1179.htm

 


--  作者:lyx4040
--  发布时间:2017/9/22 10:19:00
--  
 刚才又试了下,发现可能是尺寸设置有冲突,打印机默认纸张已经设置成了 100*50

Dim doc As New PrintDoc()

doc.PageSetting.Width = 100     \'这两句没有删除的时候,字变的好小,这里设置的是报表对象
doc.PageSetting.Height = 50      \'

Dim ps As new System.Drawing.Printing.PrinterSettings  ‘这里是
PrinterSettings类对象,是不是2个打印对象不同,那怎么设置paperkind

ps.Copies = 2  

doc.Print(ps)    



--  作者:有点甜
--  发布时间:2017/9/22 10:23:00
--  

参考设置

 

https://msdn.microsoft.com/zh-cn/library/system.drawing.printing.printersettings.aspx

 


--  作者:lyx4040
--  发布时间:2017/9/22 16:09:00
--  

Dim prtdoc As new Printing.PrintDocument()
Dim foundit As Boolean = False
Dim paperkind As Integer
prtdoc.PrinterSettings.PrinterName = e.Form.Controls("ComboBox1").Text
For Each ps As System.Drawing.Printing.PaperSize In prtdoc.PrinterSettings.PaperSizes  \'生成打印机的纸张下拉列表
    If ps.PaperName = "标贴10_03" Then
        \'msgbox("paperkind = " & ps.RawKind )
        paperkind = ps.RawKind
        foundit = True
    End If
Next

Dim doc As New PrintDoc() \'定义一个报表
doc.PageSetting.PaperKind = paperkind

运行后出现错误: ,用msgbox读取到值为 260

无效的PaperKind代码260。
[此贴子已经被作者于2017/9/22 16:11:21编辑过]

--  作者:有点甜
--  发布时间:2017/9/22 16:23:00
--  

设置打印机了没?

 

Dim doc As New PrintDoc() \'定义一个报表
doc.PrinterName = e.Form.Controls("ComboBox1").Text
doc.PageSetting.PaperKind = paperkind

 


--  作者:lyx4040
--  发布时间:2017/9/22 16:28:00
--  
 设置了,是通过ComboBox1 控件选择的,没有问题。

这种标签打印机 和 普通打印机 不同,好像一些设置都无效。


[此贴子已经被作者于2017/9/22 16:51:51编辑过]

--  作者:有点甜
--  发布时间:2017/9/22 16:38:00
--  
以下是引用lyx4040在2017/9/22 16:28:00的发言:
 设置了,是通过ComboBox1 控件选择的,没有问题。

这种标签打印机 和 普通打印机 不同,好像一些设置都无效。

 

那你尝试把标签打印机设置成默认打印机,重启一下电脑测试。