以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  我加了强制分页的命令后,打印机就退纸了,不连接打印了,这个怎么解决呢?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=150617)

--  作者:xxfoxtable
--  发布时间:2020/6/3 10:51:00
--  我加了强制分页的命令后,打印机就退纸了,不连接打印了,这个怎么解决呢?
我加了强制分页的命令后,打印机就退纸了,不连接打印了,这个怎么解决呢?
--  作者:有点蓝
--  发布时间:2020/6/3 11:20:00
--  
写了什么代码?
--  作者:xxfoxtable
--  发布时间:2020/6/3 11:35:00
--  
    Dim doc  As New PrintDoc  
    doc.PageSetting.Width =cint(Tables("参数设置").Current("纸宽"))
    doc.PageSetting.Height=cint(Tables("参数设置").Current("纸高"))
    doc.PageSetting.TopMargin=cint(Tables("参数设置").Current("上边距"))
    doc.PageSetting.LeftMargin=cint(Tables("参数设置").Current("左边距"))
    doc.PageSetting.RightMargin=cint(Tables("参数设置").Current("右边距"))
    doc.PageSetting.BottomMargin=cint(Tables("参数设置").Current("下边距"))
    doc.AutoRotate = False
    Dim i As Integer=1
    For Each r As Row In Tables("团长信息").Rows
        Dim rt As New prt.RenderTable() 
        Dim rx As New prt.RenderText 
        rx = new prt.RenderText
        rx.text = "团长信息"
        rx.Style.FontBold = True 
        rx.Style.FontSize = cint(Tables("参数设置").Current("团长信息标题字体大小"))
        rx.Style.TextAlignHorz = prt.AlignHorzEnum.Center  
        rx.Style.Spacing.Bottom = 2 
        If i>2
            rx.BreakBefore = prt.BreakEnum.page
        End If
        doc.Body.Children.Add(rx) 
        rt.Cols.Count = 6 
        rt.Cols(0).Width = cint(Tables("参数设置").Current("团长姓名宽度"))
        rt.Cols(1).Width = cint(Tables("参数设置").Current("团长电话宽度"))
        rt.Cols(2).Width =cint(Tables("参数设置").Current("团长小区宽度"))
        rt.Cols(3).Width =cint(Tables("参数设置").Current("详细地址宽度"))
        rt.Cols(4).Width =cint(Tables("参数设置").Current("线路宽度"))
        rt.Cols(5).Width =cint(Tables("参数设置").Current("区域宽度"))
        rt.CellStyle.Spacing.All = 0.1 
        rt.Style.GridLines.All = New prt.Linedef  
        rt.Style.TextAlignVert = prt.AlignVertEnum.Center 
        rt.Style.TextAlignHorz = prt.AlignHorzEnum.Center
        rt.Style.FontSize = cint(Tables("参数设置").Current("团长信息明细字体大小"))
        \'rt.Rows(6).Style.TextAlignVert = prt.AlignVertEnum.Top 
        rx = new prt.RenderText
        rt.Cells(i,0).Text= "团长姓名"
        rt.Cells(i,1).Text= "团长电话"
        rt.Cells(i,2).Text = "团长小区"
        rt.Cells(i,3).Text = "详细地址"
        rt.Cells(i,4).Text = "线路"
        rt.Cells(i,5).Text = "区域"
        i=i+1
        rt.Cells(i,0).Text= r("团长姓名")
        rt.Cells(i,1).Text =r("团长电话")
        rt.Cells(i,2).Text= r("团长小区")
        rt.Cells(i,3).Text= r("详细地址")
        rt.Cells(i,4).Text= r("线路")
        rt.Cells(i,5).Text= r("区域")
        doc.Body.Children.Add(rt)
        i=i+1
        rx = new prt.RenderText
        rx.text = "商品数据总汇"
        rx.Style.FontBold = True 
        rx.Style.FontSize = cint(Tables("参数设置").Current("商品数据总汇标题字体大小"))
        rx.Style.TextAlignHorz = prt.AlignHorzEnum.Center  
        rx.Style.Spacing.Bottom = 2 
        doc.Body.Children.Add(rx) 
        Dim rt1 As New prt.RenderTable() 
        rt1.Cols.Count = 7 
        rt1.Cols(0).Width = cint(Tables("参数设置").Current("商品数据总汇序号宽度"))
        rt1.Cols(1).Width = cint(Tables("参数设置").Current("商品数据总汇商品名称宽度"))
        rt1.Cols(2).Width =cint(Tables("参数设置").Current("商品数据总汇一级分类宽度"))
        rt1.Cols(3).Width =cint(Tables("参数设置").Current("商品数据总汇商品规格宽度"))
        rt1.Cols(4).Width =cint(Tables("参数设置").Current("商品数据总汇数量宽度"))
        rt1.Cols(5).Width =cint(Tables("参数设置").Current("商品数据总汇单价宽度"))
        rt1.Cols(6).Width =cint(Tables("参数设置").Current("商品数据总汇总价宽度"))
        rt1.CellStyle.Spacing.All = 0.1 
        rt1.Style.GridLines.All = New prt.Linedef  
        rt1.Style.TextAlignVert = prt.AlignVertEnum.Center 
        rt1.Style.TextAlignHorz = prt.AlignHorzEnum.Center
        rt1.Style.FontSize = cint(Tables("参数设置").Current("商品数据总汇明细字体大小"))
        \'rt.Rows(6).Style.TextAlignVert = prt.AlignVertEnum.Top 
        rt1.Cells(i,0).Text= "序号"
        rt1.Cells(i,1).Text= "商品名称"
        rt1.Cells(i,2).Text = "一级分类"
        rt1.Cells(i,3).Text = "商品规格"
        rt1.Cells(i,4).Text = "数量"
        rt1.Cells(i,5).Text = "单价"
        rt1.Cells(i,6).Text = "总价"
        i=i+1


--  作者:xxfoxtable
--  发布时间:2020/6/3 11:35:00
--  
        For Each sjzh As DataRow In DataTables("商品数据总汇").Select("id=\'" & r("id") &"\'")
            rt1.Cells(i,0).Text= sjzh("序号")
            rt1.Cells(i,1).Text= sjzh("商品名称")
            rt1.Cells(i,2).Text = sjzh("一级分类")
            rt1.Cells(i,3).Text = sjzh("商品规格")
            rt1.Cells(i,4).Text = sjzh("数量")
            rt1.Cells(i,5).Text = sjzh("单价")
            rt1.Cells(i,6).Text = sjzh("总价")
            i=i+1
        Next
        doc.Body.Children.Add(rt1)    
        rx = new prt.RenderText
        rx.text = "客户明细"
        rx.Style.FontBold = True 
        rx.Style.FontSize = cint(Tables("参数设置").Current("客户明细标题字体大小"))
        rx.Style.TextAlignHorz = prt.AlignHorzEnum.Center  
        rx.Style.Spacing.Bottom = 2 
        doc.Body.Children.Add(rx) 
        Dim rt2 As New prt.RenderTable() 
        rt2.Cols.Count = 10 
        rt2.Cols(0).Width =cint(Tables("参数设置").Current("客户明细序号宽度"))
        rt2.Cols(1).Width =cint(Tables("参数设置").Current("客户明细订单编号宽度"))
        rt2.Cols(2).Width =cint(Tables("参数设置").Current("客户明细微信昵称宽度"))
        rt2.Cols(3).Width =cint(Tables("参数设置").Current("客户明细姓名手机号宽度"))
        rt2.Cols(4).Width =cint(Tables("参数设置").Current("客户明细商品名称宽度"))
        rt2.Cols(5).Width =cint(Tables("参数设置").Current("客户明细一级分类宽度"))
        rt2.Cols(6).Width =cint(Tables("参数设置").Current("客户明细商品规格宽度"))
        rt2.Cols(7).Width =cint(Tables("参数设置").Current("客户明细数量宽度"))
        rt2.Cols(8).Width =cint(Tables("参数设置").Current("客户明细总价宽度"))
        rt2.Cols(9).Width =cint(Tables("参数设置").Current("客户明细备注宽度"))
        rt2.CellStyle.Spacing.All = 0.1 
        rt2.Style.GridLines.All = New prt.Linedef  
        rt2.Style.TextAlignVert = prt.AlignVertEnum.Center 
        rt2.Style.TextAlignHorz = prt.AlignHorzEnum.Center
        rt2.Style.FontSize = cint(Tables("参数设置").Current("客户明细明细字体大小"))
        \'rt.Rows(6).Style.TextAlignVert = prt.AlignVertEnum.Top      
        rt2.Cells(i,0).Text= "序号"
        rt2.Cells(i,1).Text= "订单编号"
        rt2.Cells(i,2).Text = "微信昵称"
        rt2.Cells(i,3).Text = "姓名/手机号"
        rt2.Cells(i,4).Text = "商品名称"
        rt2.Cells(i,5).Text = "一级分类"
        rt2.Cells(i,6).Text = "商品规格"
        rt2.Cells(i,7).Text = "数量"
        rt2.Cells(i,8).Text = "总价"
        rt2.Cells(i,9).Text = "备注" 
        i=i+1
        For Each khmx As DataRow In DataTables("客户明细").Select("id=\'" & r("id") &"\'")
            rt2.Cells(i,0).Text= khmx("序号")
            rt2.Cells(i,1).Text= khmx("订单编号")
            rt2.Cells(i,2).Text =khmx("微信昵称")
            rt2.Cells(i,3).Text =khmx("姓名手机号")
            rt2.Cells(i,4).Text =khmx("商品名称")
            rt2.Cells(i,5).Text =khmx("一级分类")
            rt2.Cells(i,6).Text =khmx("商品规格")
            rt2.Cells(i,7).Text = khmx("数量")
            rt2.Cells(i,8).Text = khmx("总价")
            rt2.Cells(i,9).Text = khmx("备注")
            i=i+1
        Next
        doc.Body.Children.Add(rt2)
    Next
    Doc.Print

--  作者:xxfoxtable
--  发布时间:2020/6/3 11:37:00
--  
打印预览是正常的,打印时就退纸了,要重新上纸
--  作者:有点蓝
--  发布时间:2020/6/3 11:54:00
--  
试试

Dim rm As prt.RenderEmpty
For Each r As Row In Tables("团长信息").Rows
    Dim rt As New prt.RenderTable()
    Dim rx As New prt.RenderText
    rx = new prt.RenderText
    rx.text = "团长信息"
    rx.Style.FontBold = True
    rx.Style.FontSize = cint(Tables("参数设置").Current("团长信息标题字体大小"))
    rx.Style.TextAlignHorz = prt.AlignHorzEnum.Center
    rx.Style.Spacing.Bottom = 2
    If i>2
        rm = new prt.RenderEmpty \'定义一个新的空对象
        rm.BreakBefore = prt.BreakEnum.Page \'打印前换页
        doc.Body.Children.Add(rm) \'加入到报表中
    End If
    doc.Body.Children.Add(rx)

--  作者:xxfoxtable
--  发布时间:2020/6/3 15:36:00
--  
试了,还是不行,还退纸了,需要重新上纸
--  作者:有点蓝
--  发布时间:2020/6/3 15:55:00
--  
没有打印机测试,我也不知道原因了。

减少代码,只打印一两行数据测试。使用execl、word强制添加换页符测试有没有问题?

--  作者:xxfoxtable
--  发布时间:2020/6/3 22:02:00
--  
哪位高人遇到这样的情况,请指点一二,谢谢了