Foxtable(狐表)用户栏目专家坐堂 → [讨论]为什么我写的打印代码,需要大概30秒后才能打印


  共有2713人关注过本帖树形打印复制链接

主题:[讨论]为什么我写的打印代码,需要大概30秒后才能打印

帅哥哟,离线,有人找我吗?
有点甜
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/9/26 10:39:00 [显示全部帖子]

我测试下面代码,几秒后就生成预览了(表A40行),你看看生成预览的速度怎样。

 

Dim doc As New PrintDoc '定义一个报表
doc.PageSetting.Width = 40 '纸张宽度为40毫米
doc.PageSetting.Height = 30 '纸张高度为30毫米
doc.AutoRotate = False '禁止自动旋转打印内容
Doc.PageSetting.LeftMargin = 1 '设置左边距
Doc.PageSetting.RightMargin = 1 '设置右边距
Doc.PageSetting.TopMargin = 1 '设置上边距
Doc.PageSetting.BottomMargin = 1 '设置下边距
'下面的代码向表格中填入值
For Each r As Row In Tables("表A").Rows
    Dim rt As New prt.RenderTable() '定义一个表格对象
    doc.Body.Children.Add(rt) '将表格对象加入到报表中
    'Doc.PrinterName = "Gprinter  GP-3120TL"
    rt.Cells(0,0).text = "111" 'r("姓名")
    rt.Cells(1,0).text = "222" 'r("班级名称")
    Dim ccc As New prt.RenderGraphics()
    Dim BarID1 As New BarCodeBuilder
    BarID1.Symbology = Barpro.Symbology.Code128
    BarID1.Code = "999999999aaabbbccc" 'r("学号")
    BarID1.BarHeight = 15
    BarID1.QuietZoneWidth = 2
    BarID1.DrawOnCanvas(ccc.Graphics,0,0,1)
    rt.cells(2,0).RenderObject = ccc
Next
doc.Preview


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/9/26 14:31:00 [显示全部帖子]

1、你的意思是预览比直接打印快?快多少?

 

2、如果仅仅是print慢,应该是你电脑连接的打印机有问题导致的吧?你执行下面的代码print,需要多久?

 

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

 


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/9/26 15:40:00 [显示全部帖子]

那你可以尝试一次一次的print,而不是最后一次性print。也就是一行print一次。

 

或者试试这样 print 改成

 

Dim ps As new System.Drawing.Printing.PrinterSettings
doc.Print(ps)     '打印

 

 


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/9/26 17:08:00 [显示全部帖子]

那就一行一行打印吧,每次循环生成一个doc,print一次。


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/9/26 23:16:00 [显示全部帖子]

以下是引用jjjeyes在2018/9/26 23:03:00的发言:
 还有一个问题,如3楼,为什么生成的打印预览后,按打印会成为其他的排版形式?

 

预览后打印,有一个不兼容的地方,就是无法设置打印的方向。你可以在打印窗口弹出打印的时候选择 纵向或者横向 来改变。

 

这个是一致以来的bug,没办法处理的。


 回到顶部