Foxtable(狐表)用户栏目专家坐堂 → 用专业报表设计的piao据连续打印,怎么打印纸吐纸不太对呢?


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

主题:用专业报表设计的piao据连续打印,怎么打印纸吐纸不太对呢?

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


加好友 发短信
等级:五尾狐 帖子:1085 积分:8220 威望:0 精华:4 注册:2012/3/31 18:08:00
用专业报表设计的piao据连续打印,怎么打印纸吐纸不太对呢?  发帖心情 Post By:2014/1/6 15:03:00 [只看该作者]

如题用专业报表设计的piao据连续打印,通过 代码设置了纸张的大小,如果从针式 打印机前面放纸,打一张放一张没有问题,如果从后面连续放纸,按理说打完第一纸再打第二张的时候位置会自动根据自定义纸张的大小自行调整吐纸位置,但现在打完第一张,吐很长一段纸,不知是代码的问题还是设置的问题?请大神指教。。。


 Dim Doc As new PrintDoc
    
    Dim pr As DataRow = DataTables("lsconf").Find("f_vkey = 'PRinter'") '打印机
    If pr.IsNull("f_val")
        MessageBox.Show("未设置默认打印机,请在系统参数中设置默认打印机!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
        Return
    Else
        Doc.PrinterName = pr("f_val") '设置默认打印机
    End If
    Dim dyzz As DataRow= DataTables("print_conf").find("F_num like '01%' and F_name='zzdx'") '打印纸张
    Dim ztpy As DataRow= DataTables("print_conf").find("F_num like '01%' and F_name='ztpyz'") ' 整体偏移
    Dim mxhg As DataRow = DataTables("print_conf").find("F_num like '01%' and F_name='SYGD'")  '明细行高度
    Dim pyz As Integer = val(ztpy("F_X"))
    Dim pys As Integer = val(ztpy("F_Y"))
    Doc.PageSetting.Width = val(dyzz("f_X")) ‘从数据库取纸张参数。
    Doc.PageSetting.Height = val(dyzz("f_Y"))
    doc.PageSetting.Landscape = True 
    Doc.PageSetting.LeftMargin=1
    Doc.PageSetting.BottomMargin =1
    Doc.PageSetting.TopMargin=1
    Doc.PageSetting.LeftMargin =1
    doc.AutoRotate = False
    Dim zbs As List(of DataRow)= DataTables("print_conf").Select("F_num like '01%'") '打印参数表
    For Each zb As DataRow In zbs
        Select Case zb("f_name")
            Case "JKR"
                Dim jkr As new prt.RenderText
                If zb.IsNull("F_P") OrElse   zb("F_P") = "1" '如果为空的话是必打项目,如果是有数  再判断是0或者1
                    jkr.Text = dr("交款人")
                    jkr.Style.FontSize =11
                    jkr.X = val(zb("F_X")) + pyz
                    jkr.y = val(zb("F_Y")) + pys
                    Doc.Body.Children.Add(jkr)
                End If
            此处为取数据库数据代码。。略
            Case "JE"
                Dim n As Integer = 0
                For Each dc As DataRow In dcs
                    Dim JE As new prt.RenderText
                    If zb.IsNull("F_P") OrElse zb("F_P") = "1"
                        JE.Text =Format(dc("金额"),"#,###.00")
                        je.Style.TextAlignHorz = prt.AlignHorzEnum.Justify
                        JE.X= val(zb("F_X"))+ pyz
                        JE.y = val(zb("F_Y"))+ pys + val(mxhg("F_Y"))*n
                        Doc.Body.Children.Add(JE)
                        n=n+1
                    End If
                Next
                
        End Select
    Next
    Dim dp As DataRow = DataTables("lsconf").Find("f_vkey = 'direct_print'")
    If dp("f_VAL") ="Y"
        Doc.Print
    Else
        Doc.Preview()
    End If

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:test.foxdb
密码:aaaaaa

[此贴子已经被作者于2014-1-20 17:47:49编辑过]

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/1/6 15:13:00 [只看该作者]

预览是否会显示很长呢?

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


加好友 发短信
等级:五尾狐 帖子:1085 积分:8220 威望:0 精华:4 注册:2012/3/31 18:08:00
  发帖心情 Post By:2014/1/6 15:19:00 [只看该作者]

以下是引用Bin在2014-1-6 15:13:00的发言:
预览是否会显示很长呢?

正常,预览的话,,,这是什么情况 。代码有问题吗?


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


加好友 发短信
等级:二尾狐 帖子:517 积分:3383 威望:0 精华:0 注册:2013/1/3 17:08:00
  发帖心情 Post By:2014/1/6 16:25:00 [只看该作者]

不要预览,直接打印试试
用了自定义纸张,预览就有问题

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


加好友 发短信
等级:五尾狐 帖子:1085 积分:8220 威望:0 精华:4 注册:2012/3/31 18:08:00
  发帖心情 Post By:2014/1/9 16:37:00 [只看该作者]

就是直接打印的,预览没有啥意义。。

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2014/1/9 16:44:00 [只看该作者]

不要设置纸张高度看看,还有既然是自定义纸张,下面的代码也应该删除:

doc.PageSetting.Landscape = True

 


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


加好友 发短信
等级:五尾狐 帖子:1085 积分:8220 威望:0 精华:4 注册:2012/3/31 18:08:00
  发帖心情 Post By:2014/1/9 17:51:00 [只看该作者]

以下是引用狐狸爸爸在2014-1-9 16:44:00的发言:

不要设置纸张高度看看,还有既然是自定义纸张,下面的代码也应该删除:

doc.PageSetting.Landscape = True

 

不指定调试怕是不行吧,系统能知道这单据到哪里换页?我以前用其他的软件设置打印piao据的时候,一般在系统设置里添加一纸张类型,到打印的时候指定打印到这个纸张类型上


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/1/9 19:26:00 [只看该作者]

 是打印机问题或者代码的问题,你可以做一个类似的简单例子,放上来,这样官方测试方便。不然始终无解。

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


加好友 发短信
等级:五尾狐 帖子:1085 积分:8220 威望:0 精华:4 注册:2012/3/31 18:08:00
  发帖心情 Post By:2014/1/20 17:50:00 [只看该作者]

以下是引用有点甜在2014-1-9 19:26:00的发言:
 是打印机问题或者代码的问题,你可以做一个类似的简单例子,放上来,这样官方测试方便。不然始终无解。

甜老师我已经上传,请帮助查看一下代码 ,在窗口打印的时候 从针式 打印机后面放纸吐纸位置不对,按理说如果是自定义纸张了吐纸应该是自定义纸张的位置,我用的打印机是EPSON 635K,,你可以测试一下。。


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


加好友 发短信
等级:五尾狐 帖子:1085 积分:8220 威望:0 精华:4 注册:2012/3/31 18:08:00
  发帖心情 Post By:2014/1/21 9:42:00 [只看该作者]

呼叫狐爸,帮俺 看一下代码 ,谢谢

 回到顶部