Foxtable(狐表)用户栏目专家坐堂 → [求助]关于专业报表打印小尺寸标签错误的问题


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

主题:[求助]关于专业报表打印小尺寸标签错误的问题

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/6/29 16:12:00 [显示全部帖子]

试试这样

 

Dim Doc As new PrintDoc '定义一个新报表
Dim rt As New prt.RenderTable '定义一个新表格
Doc.PageSetting.Height = 35
Doc.PageSetting.Width = 25
Doc.PageSetting.LeftMargin = 0  '左边距
Doc.PageSetting.RightMargin = 0 '右边据
doc.PageSetting.BottomMargin = 0 '底边距
Doc.PageSetting.TopMargin = 0 '上边距
Doc.PageSetting.Landscape = True  '是否横向
doc.AutoRotate = False '禁止自动旋转打印内容

Dim tab As Table = Tables("Daohuolist_table1")
rt.Style.Font = tab.font
rt.Rows.Count = 1  '总行数
rt.Cols.Count = 1  '总列数
rt.Height = 35
rt.Width = 25
    'rt.SplitHorzBehavior = prt.SplitBehaviorEnum.Never '禁止水平分割
    'rt.SplitVertBehavior = prt.SplitBehaviorEnum.Never '禁止垂直分割
rt.Style.GridLines.All = New prt.LineDef(0,Color.black)  '网格线
rt.Cells(0,0).Text = "test"

 

Doc.Body.Children.Add(rt)
Doc.PrinterName = "TSC TTP-245"
Doc.Preview() '预览报表


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/6/29 16:43:00 [显示全部帖子]

 你再试试2楼的方法,不要预览,直接打印doc.print看看。

 

 再有,红色的代码调整一下多试几次。

 

 再不行的话,就用这个方法

 

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

 


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/6/29 17:26:00 [显示全部帖子]

以下是引用zenbu在2014-6-29 17:21:00的发言:
仔细看了一下线条,其实还是竖着打出来

 

这个跟你设置rt的宽度和高度有关吧?倒过来设置。


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/6/29 17:53:00 [显示全部帖子]

 弄成一长串表格打印吧,不应该有问题的,间隔要设置妥当。

 

 如果是误差问题,可以4、5个(一张打印纸)一次,这样就是折中的办法。


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/6/29 18:58:00 [显示全部帖子]

以下是引用zenbu在2014-6-29 18:06:00的发言:
有控制打印份数的代码吗?

 

呃,在你的代码那里控制。比如20个,打印4次

 

For i As Integer = 0 To 19 Step 5
    Dim Doc As new PrintDoc
    For j As Integer = i To i+4
        Dim pt As new prt.RenderText
        pt.Text = "(" & i & ", " & j & ")"
        Doc.Body.Children.Add(pt)
    Next
    Doc.Preview
    'Doc.print()
Next


 回到顶部