Foxtable(狐表)用户栏目专家坐堂 → 专业报表


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

主题:专业报表

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


加好友 发短信
等级:六尾狐 帖子:1483 积分:10551 威望:0 精华:0 注册:2018/10/16 11:42:00
专业报表  发帖心情 Post By:2019/7/26 9:56:00 [显示全部帖子]

想问下如何能快递打印?我想打印快递单。现在我是设置一个窗口。获取表格内的数据进行打印,但这样打印太慢了。打印的时候窗口不能操作。能不能后台打印?
[此贴子已经被作者于2019/7/31 10:30:10编辑过]

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


加好友 发短信
等级:六尾狐 帖子:1483 积分:10551 威望:0 精华:0 注册:2018/10/16 11:42:00
  发帖心情 Post By:2019/7/26 11:25:00 [显示全部帖子]

这样还是前台打印,打印期间不能操作。能不能把正在打印这个页面隐藏到后台。我能正常操作窗口执行下一条打印的代码?

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


加好友 发短信
等级:六尾狐 帖子:1483 积分:10551 威望:0 精华:0 注册:2018/10/16 11:42:00
  发帖心情 Post By:2019/7/26 14:31:00 [显示全部帖子]

这个位置怎么量?

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


加好友 发短信
等级:六尾狐 帖子:1483 积分:10551 威望:0 精华:0 注册:2018/10/16 11:42:00
  发帖心情 Post By:2019/7/26 14:32:00 [显示全部帖子]

Dim doc  As New PrintDoc  '定义一个报表
Dim rx As prt.RenderText '定义一个文本对象
Dim rm As prt.RenderImage '定义一个图形队形

 rx = new prt.RenderText
 rx.Text = "姓名"
rx.x = 2
 rx.y = 6
 doc.body.Children.Add(rx)

 rx = new prt.RenderText
 rx.Text = "出生日期"
rx.x = 109
 rx.y = 36
 doc.body.Children.Add(rx)

 rx = new prt.RenderText
 rx.Text = "部门"
rx.x = 51
 rx.y = 43
 doc.body.Children.Add(rx)

 rx = new prt.RenderText
 rx.Text = "雇佣日期"
rx.x = 109
 rx.y = 43
 doc.body.Children.Add(rx)

 rx = new prt.RenderText
 rx.Text = "性别"
rx.x = 51
 rx.y = 50
 doc.body.Children.Add(rx)

 rx = new prt.RenderText
 rx.Text = "职务"
rx.x = 109
 rx.y = 50
 doc.body.Children.Add(rx)

 rx = new prt.RenderText
 rx.Text = "城市"
rx.x = 51
 rx.y = 57
 doc.body.Children.Add(rx)

 rx = new prt.RenderText
 rx.Text = "邮政编码"
rx.x = 109
 rx.y = 57
 doc.body.Children.Add(rx)

 rx = new prt.RenderText
 rx.Text = "地址"
rx.x = 51
 rx.y = 63
 doc.body.Children.Add(rx)

 rx = new prt.RenderText
 rx.Text = "家庭电话"
rx.x = 51
 rx.y = 69.5
 doc.body.Children.Add(rx)

 rx = new prt.RenderText
 rx.Text = "办公电话"
rx.x = 109
 rx.y = 69.5
 doc.body.Children.Add(rx)

 rx = new prt.RenderText
 rx.Text = "备注"
rx.x = 26.5
 rx.y = 76
 rx.Width= 163
 doc.body.Children.Add(rx)


 Doc.Preview() '预览报表

 

 

 

 

X/Y轴的大小怎么量出来,有没有便捷的方法


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


加好友 发短信
等级:六尾狐 帖子:1483 积分:10551 威望:0 精华:0 注册:2018/10/16 11:42:00
  发帖心情 Post By:2019/7/26 15:23:00 [显示全部帖子]

我不知道分辨率是多少。

问下表格边缘我要靠着打印边缘,不留白怎么写。

 


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


加好友 发短信
等级:六尾狐 帖子:1483 积分:10551 威望:0 精华:0 注册:2018/10/16 11:42:00
  发帖心情 Post By:2019/7/26 15:25:00 [显示全部帖子]

Dim doc As New PrintDoc '定义一个报表
Dim
rt As New prt.RenderTable() '定义一个表格对象
Dim
rx As New prt.RenderText '定义一个文本对象

'加入标题

rx.text =
"员工资料卡"
rx.Style.FontBold =
True '字体加粗
rx.Style.FontSize =
16 '大体大小为16磅
rx.Style.TextAlignHorz = prt.AlignHorzEnum.Center
'水平居中排列
rx.Style.Spacing.Bottom =
3 '和下面的对象(表格)距离3毫米
doc.Body.Children.Add(rx)
'加入到报表中
'指定行数、列数、列宽、行高

rt.Rows.Count =
7 '设置总行数
rt.Cols.Count =
5 '设置总列数
rt.Height =
80 '设置表格的高度为80毫米

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


加好友 发短信
等级:六尾狐 帖子:1483 积分:10551 威望:0 精华:0 注册:2018/10/16 11:42:00
  发帖心情 Post By:2019/7/26 15:48:00 [显示全部帖子]

问题

1、我要打印成100*180大小的,怎么设置

2、表格边缘我要靠着边缘打印,不留白怎么写。

3、条形码怎么插入?

 

 

条形码代码

Dim doc As New PrintDoc
Dim
rg As New prt.RenderGraphics
Dim
Bar As New BarCodeBuilder
Bar
.Symbology = Barpro.Symbology.Code39
bar
.Code = "12345678"
rg
= new prt.RenderGraphics
bar
.DrawOnCanvas(rg.Graphics,0,0,1)
Doc
.Body.Children.Add(rg)
Doc.Preview()


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


加好友 发短信
等级:六尾狐 帖子:1483 积分:10551 威望:0 精华:0 注册:2018/10/16 11:42:00
  发帖心情 Post By:2019/7/26 17:03:00 [显示全部帖子]

Dim doc As New PrintDoc '定义一个报表
doc.PageSetting.Width = 100  '纸张宽度为100毫米
doc.PageSetting.Height = 180  '纸张高度为120毫米
Dim rt As New prt.RenderTable() '定义一个表格对象
Doc.PageSetting.LeftMargin = 0 '设置左边距
Doc.PageSetting.RightMargin = 0 '设置右边距
Doc.PageSetting.TopMargin = 0 '设置上边距
Doc.PageSetting.BottomMargin = 0 '设置下边距
rt.Width = "Parent.Width"  '对象宽度等于页面宽度
rt.Height = "Parent.Height"  '对象高度等于页面高度

 

'指定行数?列数?列宽?行高
rt.Rows.Count = 11 '设置总行数
rt.Cols.Count = 5 '设置总列数
'rt.Height = 80 '设置表格的高度为80毫米

rt.Rows(0).Height = 14  '设置第7行(显示备注的行)的高度为40毫米,剩余高度被平均分排到其他行
rt.Rows(1).Height = 14  '设置第7行(显示备注的行)的高度为40毫米,剩余高度被平均分排到其他行
rt.Rows(2).Height = 5  '设置第7行(显示备注的行)的高度为40毫米,剩余高度被平均分排到其他行
rt.Rows(3).Height = 19  '设置第7行(显示备注的行)的高度为40毫米,剩余高度被平均分排到其他行
rt.Rows(4).Height = 14  '设置第7行(显示备注的行)的高度为40毫米,剩余高度被平均分排到其他行
rt.Rows(5).Height = 19  '设置第7行(显示备注的行)的高度为40毫米,剩余高度被平均分排到其他行
rt.Rows(6).Height = 19  '设置第7行(显示备注的行)的高度为40毫米,剩余高度被平均分排到其他行
rt.Rows(7).Height = 9.6  '设置第7行(显示备注的行)的高度为40毫米,剩余高度被平均分排到其他行
rt.Rows(8).Height = 14.4  '设置第7行(显示备注的行)的高度为40毫米,剩余高度被平均分排到其他行
rt.Rows(9).Height = 9.6  '设置第7行(显示备注的行)的高度为40毫米,剩余高度被平均分排到其他行

'设置列宽度
rt.Cols(0).Width = 10  '设置前四列的宽度,剩余的宽度被分配给5列(显示图片的那列)
rt.Cols(1).Width = 20
 rt.Cols(2).Width = 20
 rt.Cols(3).Width = 20


 '设置合并单元格
rt.Cells(0,0).SpanCols = 5  '第5行第2个单元格向右合并3列(用于显示地址)
rt.Cells(1,0).SpanCols = 5  '第5行第2个单元格向右合并3列(用于显示地址)
rt.Cells(2,1).SpanCols = 4  '第5行第2个单元格向右合并3列(用于显示地址)
rt.Cells(3,1).SpanCols = 4  '第5行第2个单元格向右合并3列(用于显示地址)
rt.Cells(4,1).SpanCols = 4  '第5行第2个单元格向右合并3列(用于显示地址)
rt.Cells(5,0).SpanCols = 5  '第5行第2个单元格向右合并3列(用于显示地址)
rt.Cells(6,0).SpanCols = 2  '第5行第2个单元格向右合并3列(用于显示地址)
rt.Cells(6,3).SpanCols = 2  '第5行第2个单元格向右合并3列(用于显示地址)
rt.Cells(7,0).SpanCols = 5  '第5行第2个单元格向右合并3列(用于显示地址)
rt.Cells(8,1).SpanCols = 3  '第5行第2个单元格向右合并3列(用于显示地址)
rt.Cells(9,1).SpanCols = 3  '第5行第2个单元格向右合并3列(用于显示地址)
rt.Cells(8,4).SpanRows = 2  '第5行第2个单元格向右合并3列(用于显示地址)
rt.Cells(10,0).SpanCols = 5  '第5行第2个单元格向右合并3列(用于显示地址)
 '设置表格样式
rt.CellStyle.Spacing.All = 1 '单元格内容缩进1毫米
rt.Style.GridLines.All = New prt.Linedef  '设置网格线
rt.Style.TextAlignVert = prt.AlignVertEnum.Center  '内容垂直居中
rt.Rows(6).Style.TextAlignVert = prt.AlignVertEnum.Top '唯独第7行是备注,内容靠上对齐
'下面很简单,指定每一个单元格的内容
rt.Cells(0,0).Text= "姓名"
rt.Cells(0,1).Text = "姓名"
rt.Cells(0,2).Text= "出生日期"
rt.Cells(0,3).Text = "出生日期"
rt.Cells(1,0).Text= "部门"
rt.Cells(1,1).Text = "部门"
rt.Cells(1,2).Text= "雇佣日期"
rt.Cells(1,3).Text = "雇佣日期"
rt.Cells(2,0).Text= "性别"
rt.Cells(2,1).Text = "性别"
rt.Cells(2,2).Text= "职务"
rt.Cells(2,3).Text = "职务"
rt.Cells(3,0).Text= "城市"
rt.Cells(3,1).Text = "城市"
rt.Cells(3,2).Text= "邮政编码"
rt.Cells(3,3).Text = "邮政编码"
rt.Cells(4,0).Text= "地址"
rt.Cells(4,1).Text = "地址"
rt.Cells(5,0).Text= "家庭电话"
rt.Cells(5,1).Text = "家庭电话"
rt.Cells(5,2).Text= "办公电话"
rt.Cells(5,3).Text = "办公电话"


rt.Cells(6,0).Text = "备注"

doc.Body.Children.Add(rt) '将表格对象加入到报表中

Dim  rg As  New  prt.RenderGraphics
 Dim  Bar As  New   BarCodeBuilder
 Bar.Symbology =   Barpro.Symbology.Code39
 bar.Code =   "12345678"
 rg =  new  prt.RenderGraphics
 bar.DrawOnCanvas(rg.Graphics,0,150,1)


Dim rm As prt.RenderImage '定义一个图形队形
rm= New prt.RenderImage
rm.Height = 38
rm.Width = 34
rm.Image = bar.GetImage
rm.x= 149.5
rm.y = 36
 doc.body.Children.Add(rm)

Doc.Print () '预览报表

 

 

勉强写了一个,但是条形码是在不会插入

插入第六行内


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


加好友 发短信
等级:六尾狐 帖子:1483 积分:10551 威望:0 精华:0 注册:2018/10/16 11:42:00
  发帖心情 Post By:2019/7/26 17:53:00 [显示全部帖子]

还是不会

 

Dim doc As New PrintDoc
Dim
rg As New prt.RenderGraphics
Dim
Bar As New BarCodeBuilder
Bar
.Symbology = Barpro.Symbology.Code39
bar
.Code = "12345678"
rg
= new prt.RenderGraphics
bar
.DrawOnCanvas(rg.Graphics,0,0,1)

 

 


Dim
rt As New prt.RenderTable() '定义一个表格对象
Dim
rm As New prt.RenderImage() '定义一个图片对象
rm.Image = GetImage(
rg ) '请改为实际的图标名称和路径
rm.Style.ImageAlign.AlignHorz = prt.ImageAlignHorzEnum.Center
'图片水平居中
rm.Style.ImageAlign.AlignVert = prt.ImageAlignVertEnum.Center
'图片垂直居中
rm.Style.ImageAlign.StretchHorz =
False '禁止水平方向扩展图片
rm.Style.ImageAlign.StretchVert =
False '禁止垂直方向扩展图片
doc
.Body.Children.Add(rt) '将表格对象加入到报表中
rt
.Style.GridLines.All = New prt.Linedef(Color.DarkGray) '将表格的颜色设为深灰色
rt
.Rows.Count = 3 '设置行数
rt
.Cols.Count = 3 '设置列数
rt
.Width = 60 '设置表格的宽度
rt
.Height = 60 '设置表格的高度
rt.Cells(
1,1).RenderObject = rm '将单元格内容设置为图片对象rm
Doc
.Preview() '预览报表

 

 

不对,怎么用?


 回到顶部