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


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

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

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


加好友 发短信
等级:五尾狐 帖子:1088 积分:8247 威望: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纸,上面定义的纸张大小不起作用...如果是预览的话是正常的,,请问问题出在哪里 呢?????


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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/9/11 20:08:00 [只看该作者]

既然是自定义纸张,无所谓横向纵向了吧?

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


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

当然有了,,就是打印机放纸的方向 不一样,,,的,,,,我的问题你还没有回答呢...为什么不预览直接打印的是A4的,而不是自定义的大小......


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


加好友 发短信
等级:五尾狐 帖子:1088 积分:8247 威望:0 精华:4 注册:2012/3/31 18:08:00
  发帖心情 Post By:2012/9/12 8:34:00 [只看该作者]

狐爸如何处理呢..doc.print()这个参数不支持自定义纸张吗?


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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/9/12 9:03:00 [只看该作者]

你怎么知道打印出来是A4的大小?

你遇到的也许是这个问题吧:

http://www.foxtable.com/help/topics/1589.htm

 


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


加好友 发短信
等级:五尾狐 帖子:1088 积分:8247 威望:0 精华:4 注册:2012/3/31 18:08:00
  发帖心情 Post By:2012/9/12 10:25:00 [只看该作者]

我用虚拟打印机保存为TIF测试 的..我用打印机打印的位置也变了...


 回到顶部