Foxtable(狐表)用户栏目专家坐堂 → [求助]DOC.PRINT() 为啥自动 变成A4纸呢,不是自定义纸张呢?


  共有9750人关注过本帖平板打印复制链接

主题:[求助]DOC.PRINT() 为啥自动 变成A4纸呢,不是自定义纸张呢?

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


加好友 发短信
等级:五尾狐 帖子:1085 积分:8220 威望:0 精华:4 注册:2012/3/31 18:08:00
[求助]DOC.PRINT() 为啥自动 变成A4纸呢,不是自定义纸张呢?  发帖心情 Post By:2012/9/11 18:25:00 [只看该作者]


        Dim prt As Row = Tables("支piao_pconf").Current
        Dim pyz As Integer = prt("偏移_左") '取左偏移的值....
        Dim pys As Integer = prt("偏移_上") '取上偏移的值....
        Dim doc As New PrintDoc '定义一个报表
        Dim text As  new prt.RenderText
        Dim dycs As DataRow = DataTables("系统设置").find("列名 = '默认打印机'")'判断默认打印机
        If dycs("列值") = "" Then
            MessageBox.Show("未设置默认打印,请在稍后弹出的窗口中选择默认打印机","提示信息")
            Forms("系统设置").open
        Else
            Doc.PrinterName= dycs("列值")
        End If
        Doc.PageSetting.LeftMargin=1
        Doc.PageSetting.BottomMargin =1
        Doc.PageSetting.TopMargin=1
        Doc.PageSetting.LeftMargin =1
        doc.PageSetting.Width =  val(prt("长度"))  '纸张宽度为100毫米
        doc.PageSetting.Height = val(prt("宽度"))  '纸张高度为120毫米
        '------------------------------------------------
        If prt("打印方向") = "横向" Then
            Doc.PageSetting.Landscape = True '横向打印
        ElseIf prt("打印方向") = "纵向" Then
            Doc.PageSetting.Landscape = False '纵向打印
        End If
        '---------------------------------------------------
        Dim y As New prt.RenderText '定义年
        y.Text  = CCDate(r("开piao日期")).SubString(0,4)
        y.X = val(prt("正_年_X")) + pyz
        y.y = val(prt("正_年_Y")) + pys
        doc.body.Children.Add(y)
        '-------------------------------------
  
        ...........
        '-------------------------
        Dim ytz As New prt.RenderText '用途左边
        ytz.Text  = r("用途")
        ytz.X = val(prt("副_用途_X")) + pyz
        ytz.y = 65
        Doc.body.Children.Add(ytz)
        '是否直接打印不预览
        Dim cs As DataRow = DataTables("系统设置").find("列名 = '直接打印'")
        If cs("列值")="是" Then
             MessageBox.Show(cs("列值"))
            Doc.Print()
        Else
            MessageBox.Show("NO" & cs("列值"))
            Doc.Preview()

 问题:如果cs("列值")="是" ,直接打印,,,此时打印出来的纸张是A4纸,上面定义的纸张大小不起作用...如果是预览的话是正常的,,请问问题出在哪里 呢?????


 回到顶部