Foxtable(狐表)用户栏目专家坐堂 → [求助]打印方向


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

主题:[求助]打印方向

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


加好友 发短信
等级:五尾狐 帖子:1141 积分:11272 威望:0 精华:0 注册:2017/9/26 16:30:00
[求助]打印方向  发帖心情 Post By:2018/6/1 11:55:00 [只看该作者]

 快递单是横着放的,打印确是竖着的,是哪里原因?

 


图片点击可在新窗口打开查看此主题相关图片如下:image 1.jpg
图片点击可在新窗口打开查看

打印代码:


            Dim doc As New PrintDoc '定义一个报表
           
            doc.PageSetting.Width = 230 '纸张宽度为100毫米
            doc.PageSetting.Height = 127 '纸张高度为120毫米
            Dim rx As prt.RenderText '定义一个文本对象
            Doc.PageSetting.LeftMargin = 19 '设置左边距
            Doc.PageSetting.RightMargin = 20 '设置右边距
            Doc.PageSetting.TopMargin = 24 '设置上边距
            Doc.PageSetting.BottomMargin = 12 '设置下边距
           
           
            Dim x As Integer = val(e.Form.Controls("TextBox01").Value) '定义水平偏移参数
            Dim y As Integer = val(e.Form.Controls("TextBox02").Value) '定义垂直偏移参数

        ......


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


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

你是打印预览后打印的,还是直接打印的?

 

你设置好以后,直接doc.print行不行?

[此贴子已经被作者于2018/6/1 12:07:03编辑过]

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


加好友 发短信
等级:五尾狐 帖子:1141 积分:11272 威望:0 精华:0 注册:2017/9/26 16:30:00
  发帖心情 Post By:2018/6/1 12:09:00 [只看该作者]

没有预览,直接打印的。

......

doc.print


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


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


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


加好友 发短信
等级:五尾狐 帖子:1141 积分:11272 威望:0 精华:0 注册:2017/9/26 16:30:00
  发帖心情 Post By:2018/6/1 12:41:00 [只看该作者]

可以啦,谢谢甜老师!

 

设置一个新纸张:EMS 23X12.7   

因为测试时,选的打印纸是A4纸,A4的宽度只有21cm,所以打印机自动横着打印了。

 

还存在几个问题:

1、打印完成后,进程窗口一直不关闭,怎么设置?

2、能否在代码中设置选用的打印机为:LQ730

3、另外,怎样在窗口设置一个按钮,调出  打印服务器属性 设置?

 


图片点击可在新窗口打开查看此主题相关图片如下:image 2.png
图片点击可在新窗口打开查看
[此贴子已经被作者于2018/6/1 12:57:14编辑过]

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


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

1、正常打印的情况,不可能有你这种问题出现,请检查你的代码。或者单独测试一段简单的打印代码;

 

2、参考 http://www.foxtable.com/webhelp/scr/1588.htm

 

3、参考代码

 

Dim doc As New PrintDoc '定义一个报表
Dim rt As New prt.RenderText '定义一个文本对象
rt.Text = "Hello Foxtable,I Love YOU!" '设置文本对象的内容
doc.Body.Children.Add(rt) '将文本对象加入到报表

Dim diag As New System.Windows.Forms.PrintDialog  '打印
If diag.ShowDialog() = 1 Then
    Dim ps As System.Drawing.Printing.PrinterSettings = diag.PrinterSettings
    'ps.PrinterName = "打印机名"  '设置打印机名
    'ps.Copies = 2   '设置份数
    doc.Print(ps)     '打印
End If


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


加好友 发短信
等级:五尾狐 帖子:1141 积分:11272 威望:0 精华:0 注册:2017/9/26 16:30:00
  发帖心情 Post By:2018/6/1 16:59:00 [只看该作者]

甜老师,我测试了一下,打印完后,用鼠标右键点击桌面的状态栏,进程窗口才能关闭。

 

请老师看一下我的打印代码有没有问题?

谢谢!

e.Form.ResumeRedraw
e.Form.StopRedraw
Dim doc As New PrintDoc '定义一个报表

doc.PageSetting.Width = 230 '纸张宽度为100毫米
doc.PageSetting.Height = 127 '纸张高度为120毫米
Dim rx As prt.RenderText '定义一个文本对象
Doc.PageSetting.LeftMargin = 19 '设置左边距
Doc.PageSetting.RightMargin = 20 '设置右边距
Doc.PageSetting.TopMargin = 24 '设置上边距
Doc.PageSetting.BottomMargin = 12 '设置下边距


Dim x As Integer = val(e.Form.Controls("TextBox01").Value) -25 '定义水平偏移参数
Dim y As Integer = val(e.Form.Controls("TextBox02").Value) -2 '定义垂直偏移参数
Dim rm As prt.RenderImage '定义一个图形队形
With Tables("EMS编辑_table1")
    For Each Currow As Row In .GetCheckedRows
              
        Dim rep As New prt.RenderEmpty '定义一个新的空对象
        rep.BreakBefore = prt.BreakEnum.Page '打印前换页
        doc.Body.Children.Add(rep ) '加入到报表中
       
        rx = new prt.RenderText
        rx.Text = CurRow("年")
        rx.Style.Font = New Font("宋体", 10, FontStyle.Bold)
        rx.x = 69 + x '设置坐标的时候,注意加上偏移参数
        rx.y = 27 + y
        doc.body.Children.Add(rx)
             
        ......
        rx = new prt.RenderText
        rx.Text = CurRow("收件人邮政编码_6")
        rx.Style.Font = New Font("宋体", 10, FontStyle.Bold)
        rx.x = 204 + x '设置坐标的时候,注意加上偏移参数
        rx.y = 68 + y
        doc.body.Children.Add(rx)
    Next
End With
doc.print

 

 


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


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

直接这样写,测试有没有问题

 

Dim doc As New PrintDoc '定义一个报表
Dim rt As New prt.RenderText '定义一个文本对象
rt.Text = "Hello Foxtable" '设置文本对象的内容
doc.Body.Children.Add(rt) '将文本对象加入到报表
doc.Print

 

或者试试加上代码,如

 

ShowAppWindow("打印进程", 5)


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


加好友 发短信
等级:五尾狐 帖子:1141 积分:11272 威望:0 精华:0 注册:2017/9/26 16:30:00
  发帖心情 Post By:2018/6/4 11:32:00 [只看该作者]

谢谢甜老师!

把最前面的两句代码注释掉,就可以退出“打印进程”了。

e.Form.ResumeRedraw
e.Form.StopRedraw

-------------

遇到一个新问题,连续打印时,从第二张开始,打印的坐标  向右向上  有0.5mm偏移,但是并不累加偏移,第二张以后都是一样的。是什么原因?

见图的红框中的勾号:

 

 


图片点击可在新窗口打开查看此主题相关图片如下:截屏图片.jpg
图片点击可在新窗口打开查看

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


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

1、预览是否正常?如果预览页不正常,那就调整成正常的,再打印;

 

2、如果预览正常,打印不正常,那你每次重新 New PrintDoc ,再打印。


 回到顶部
总数 16 1 2 下一页