Foxtable(狐表)用户栏目专家坐堂 → [求助]疯了,纵向piao据打印就是变成横向


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

主题:[求助]疯了,纵向piao据打印就是变成横向

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


加好友 发短信
等级:五尾狐 帖子:1104 积分:8956 威望:0 精华:0 注册:2014/10/25 11:24:00
[求助]疯了,纵向piao据打印就是变成横向  发帖心情 Post By:2015/7/13 11:10:00 [显示全部帖子]

看了之前论坛上发的帖子,浪费了快50张纸了,实在不行了,老师帮我看看怎么回事。
以下是我完整的打印按钮代码:
e.Form.Page.Width = 241 '纸张宽度为XX毫米
e.Form.Page.Height = 139.7 '纸张高度为XX毫米
e.Form.Page.LeftMargin = 25 '设置左边距
e.Form.Page.RightMargin = 25 '设置右边距
e.Form.Page.TopMargin = 10 '设置上边距
e.Form.Page.BottomMargin = 10 '设置下边距


Dim doc As PrintDoc = e.Form.GernatePrintDoc()
doc.AutoRotate = False '禁止自动旋转打印内容

For Each c As object In Doc.Body.Children
    If c.Gettype.Name Like "*Table*" Then
        Dim t As prt.RenderTable = c
        For i As Integer = 0 To t.Rows.Count - 1
            If t.Cells(i, 2).Text = Nothing  AndAlso t.Cells(i, 1).Text <> Nothing Then
                t.Cells(i, 1).SpanCols = 5
            End If
        Next
    End If
Next


Dim rx As New prt.RenderTable
rx.Cells(0,0).Text = "上海昌硕金属新材料有限公司"
rx.Cells(1,0).Text = "原料入库通知单"
rx.Cols(0).Style.TextAlignHorz = prt.AlignHorzEnum.Center '设置居中
rx.CellStyle.Spacing.Bottom = 0.5 '底端内容缩进0.5毫米
rx.Cells(0,0).Style.FontSize = 16 '设置字体大小
rx.Cells(1,0).Style.FontSize = 14 '设置字体大小
Doc.PageHeader = rx '作为页眉使用

Dim rx1 As New prt.RenderTable
rx1.Cells(0,0).Text = "制单:" &  MainTable.Current("录入人")
rx1.Cells(0,1).Text = "制单时间:" &  MainTable.Current("录入时间")
rx1.Cells(0,2).Text = "打印日期:" & Date.Today
rx1.Cells(1,0).Text = " "
rx1.Cells(2,0).Text = "一式四联: 【白色】 财务             【红色】 统计"
rx1.Cells(2,1).Text = "【蓝色】 营销             【黄色】 仓库 "
rx1.Cells(2,2).Text = "第[PageNo]页,共[PageCount]页"
rx1.Cols(0).Style.TextAlignHorz = prt.AlignHorzEnum.Left
rx1.Cols(1).Style.TextAlignHorz = prt.AlignHorzEnum.Center
rx1.Cols(2).Style.TextAlignHorz = prt.AlignHorzEnum.right
rx1.CellStyle.Spacing.Bottom = 0.5 '底端内容缩进0.5毫米
rx1.Style.FontSize = 8 '字体大小为8磅
Doc.PageFooter = rx1 '作为页脚使用


doc.Preview() '预览

以下是我点了打印按钮后的预览图:

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

在连续供纸的针式打印机上打出来的样子:

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



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


加好友 发短信
等级:五尾狐 帖子:1104 积分:8956 威望:0 精华:0 注册:2014/10/25 11:24:00
  发帖心情 Post By:2015/7/13 12:19:00 [显示全部帖子]

又经过反复测试,老师的方法一是可行的,可惜不能预览了,方法二还是老样子,我可能改不来代码,老师能根据我一楼的代码帮我改下吗?

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


加好友 发短信
等级:五尾狐 帖子:1104 积分:8956 威望:0 精华:0 注册:2014/10/25 11:24:00
  发帖心情 Post By:2015/7/13 14:43:00 [显示全部帖子]

帮助文件中的插图是纵向,老师的意思是改成横向吗?
另外,我为了搞清楚为什么设置个打印这么难,我特意做了个页面设置窗口,在这个窗口中设置了上下左右边距,然后执行打印预览,我发现用代码设置的右边距对应系统的打印预览中的上边距,代码设置的上边距是打印预览中的右边距,这就解释了打印方向转了90度,这是系统的BUG吗?

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


加好友 发短信
等级:五尾狐 帖子:1104 积分:8956 威望:0 精华:0 注册:2014/10/25 11:24:00
  发帖心情 Post By:2015/7/13 15:16:00 [显示全部帖子]

老师,还有个地方不明白,
e.Form.Page.Width = 241与doc.PageSetting.Width = 241有何区别。

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


加好友 发短信
等级:五尾狐 帖子:1104 积分:8956 威望:0 精华:0 注册:2014/10/25 11:24:00
  发帖心情 Post By:2015/7/13 18:41:00 [显示全部帖子]

 老师,按方式2用了打印预览后,怎么也设置不到我想要的结果,放弃了,直接打印的话确实能做到与设置的代码所想要的结果一致,可惜没有预览功能了,能通过别的方法进行预览吗? 

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


加好友 发短信
等级:五尾狐 帖子:1104 积分:8956 威望:0 精华:0 注册:2014/10/25 11:24:00
  发帖心情 Post By:2015/7/13 22:11:00 [显示全部帖子]

 设置横向了,可打出来的结果永远是错的。 

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


加好友 发短信
等级:五尾狐 帖子:1104 积分:8956 威望:0 精华:0 注册:2014/10/25 11:24:00
  发帖心情 Post By:2015/7/13 22:19:00 [显示全部帖子]

我把二等分纸设成默认的,就是我要用的那种纸,根据教程设置的,可没用,只要一调用打印预览就是错。

 回到顶部