Foxtable(狐表)用户栏目专家坐堂 → 关于自定义纸张设置问题


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

主题:关于自定义纸张设置问题

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


加好友 发短信
等级:三尾狐 帖子:707 积分:5039 威望:0 精华:0 注册:2016/4/15 22:24:00
关于自定义纸张设置问题  发帖心情 Post By:2022/7/12 10:38:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目2.foxdb


老师,我对自定义纸张和打印机进行设置,可是选择piao据打印机后,打出的内容不齐全,有的方向还有问题,我用的纸张为190*93,连续纸;piao据打印机映美FP560K,请老师帮我看看两个代码,在哪里出现问题
[此贴子已经被作者于2022/7/12 10:42:32编辑过]

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


加好友 发短信
等级:超级版主 帖子:107880 积分:548763 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/7/12 10:43:00 [只看该作者]

预览和打印要分开2个按钮,不能在预览界面里进行打印。

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


加好友 发短信
等级:三尾狐 帖子:707 积分:5039 威望:0 精华:0 注册:2016/4/15 22:24:00
请教如何分开  发帖心情 Post By:2022/7/12 10:53:00 [只看该作者]

请问老师怎么写打印代码?

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


加好友 发短信
等级:超级版主 帖子:107880 积分:548763 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/7/12 11:07:00 [只看该作者]

Doc.Print()

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


加好友 发短信
等级:三尾狐 帖子:707 积分:5039 威望:0 精华:0 注册:2016/4/15 22:24:00
代码  发帖心情 Post By:2022/7/12 11:34:00 [只看该作者]

老师,我试了多次,浪费了很多纸张,还是不行,应该横着打,结果竖做打,打的还不齐全。麻烦老师帮我认真看看代码
怎么实例上传不了
打印预览代码:

Dim doc As New PrintDoc '定义一个报表
Dim rt As New prt.RenderTable() '定义一个表格对象
Dim rx As New prt.RenderText '定义一个文本对象
doc.PageSetting.Landscape = True '横向打印  逻辑型型,是否横向打印
doc.PageSetting.Width = 190 '自定义设置纸张宽度为210毫米   设置页面宽度,单位为毫米
doc.PageSetting.Height = 93 '纸张高度为120毫米   设置页面高度,单位为毫米
doc.AutoRotate = False '如果纸张的宽度超过高度,要加上这行代码
Doc.PageSetting.TopMargin = 5 '设置上边距为15毫米
Doc.PageSetting.LeftMargin = 15 '设置左边距,单位为毫米
Doc.PageSetting.RightMargin = 15 '设置右边距
Doc.PageSetting.BottomMargin = 5 '设置下边距  底边距
Dim CurRow As Row = Tables("表A").Current
'加入标题
rx.text = "浙中旅游公司——员工资料卡"
rx.Style.FontBold = True '字体加粗
rx.Style.FontSize = 16 '大体大小为16磅
rx.Style.TextAlignHorz = prt.AlignHorzEnum.Center '水平居中排列
rx.Style.Spacing.Bottom = 2 '和下面的对象(表格)距离3毫米
doc.Body.Children.Add(rx) '加入到报表中
'指定行数、列数、列宽、行高
rt.Rows.Count = 7 '设置总行数
rt.Cols.Count = 5 '设置总列数
rt.Height = 55 '设置表格的高度为80毫米
rt.Width = 155 '设置表格的宽度为155毫米
rt.Rows(6).Height = 16 '设置第7行(显示备注的行)的高度为40毫米,剩余高度被平均分排到其他行
'rt.Cols(0).Width = 24 '设置前四列的宽度,剩余的宽度被分配给5列(显示图片的那列)
rt.Cols(1).Width = 35
'rt.Cols(2).Width = 24
rt.Cols(3).Width = 35
rt.Cols(4).Width = 35
'设置合并单元格
rt.Cells(0, 4).SpanRows = 6 '第1行第5个单元格向下合并6行(用于显示照片)
rt.Cells(4, 1).SpanCols = 3 '第5行第2个单元格向右合并3列(用于显示地址)
rt.Cells(6, 0).SpanCols = 5 '第7行第1个单元格向右合并5列(用于显示备注)
'设置表格样式
rt.CellStyle.Spacing.All = 1 '单元格内容缩进1毫米
rt.Style.GridLines.All = New prt.Linedef '设置网格线
rt.Style.TextAlignHorz = prt.AlignHorzEnum.Center '水平居中排列  新增
rt.Style.TextAlignVert = prt.AlignVertEnum.Center '内容垂直居中
'rt.Style.Font = New Font("宋体", 11, FontStyle.Bold) '设置字体   新增
rt.Style.Font = New Font("宋体", 11) '设置字体   新增
rt.Rows(6).Style.TextAlignVert = prt.AlignVertEnum.Top '唯独第7行是备注,内容靠上对齐
'下面很简单,指定每一个单元格的内容
rt.Cells(0, 0).Text = "姓  名"
rt.Cells(0, 1).Text = CurRow("姓名")
rt.Cells(0, 2).Text = "出生日期"
rt.Cells(0, 3).Text = CurRow("出生日期")
rt.Cells(1, 0).Text = "部  门"
rt.Cells(1, 1).Text = CurRow("部门")
rt.Cells(1, 2).Text = "雇佣日期"
rt.Cells(1, 3).Text = CurRow("雇佣日期")
rt.Cells(2, 0).Text = "性  别"
rt.Cells(2, 1).Text = CurRow("性别")
rt.Cells(2, 2).Text = "职  务"
rt.Cells(2, 3).Text = CurRow("职务")
rt.Cells(3, 0).Text = "城  市"
rt.Cells(3, 1).Text = CurRow("城市")
rt.Cells(3, 2).Text = "邮政编码"
rt.Cells(3, 3).Text = CurRow("邮政编码")
rt.Cells(4, 0).Text = "地  址"
rt.Cells(4, 1).Text = CurRow("地址")
rt.Cells(5, 0).Text = "家庭电话"
rt.Cells(5, 1).Text = CurRow("家庭电话")
rt.Cells(5, 2).Text = "办公电话"
rt.Cells(5, 3).Text = CurRow("办公电话")
rt.Cells(6, 0).Text = CurRow("备注")
rt.Cells(0, 4).Image = GetImage(CurRow("照片"))
doc.Body.Children.Add(rt) '将表格对象加入到报表中

'二维码代码     
Dim rg As prt.RenderGraphics
Dim mg As String = ProjectPath & "Images\二维码.wmf"''约定的图片文件 二维码保存代码1
Dim Bar As New BarCodeBuilder
Bar.Symbology = Barpro.Symbology.QRCode
Bar.QRCodeModuleSize = 2 '二维码的放大倍数
Bar.Code = "姓名:" & CurRow("姓名") & vbcrlf & "部门:" & CurRow("部门") & vbcrlf & "电话:" & CurRow("办公电话") 
bar.SaveImage(mg, 300) '二维码保存代码2
rg = New prt.RenderGraphics
bar.DrawOnCanvas(rg.Graphics, 0, 0, 0.5)
rg.Style.ImageAlign.AlignHorz = prt.ImageAlignHorzEnum.Center '图片水平居中
rg.Style.ImageAlign.AlignVert = prt.ImageAlignVertEnum.Center '图片垂直居中
rg.Style.ImageAlign.StretchHorz = False '禁止水平方向扩展图片
rg.Style.ImageAlign.StretchVert = False '禁止垂直方向扩展图片
Dim ra2 = rt.Cells(0, 4).Area '引用单元格的容器 '
ra2.Children.Add(rg)
'表格后新增内容设计
rx = New prt.RenderText() '再次定义一个文本对象
rx.Text = "说明:第一联(存根),第二联(客户),第三联(会计)"
rx.Style.Font = New Font("仿宋", 10 , FontStyle.Bold) '设置文本对象的字体
rx.Style.Spacing.Top = 2 '表格和前面对象的垂直间隔为4毫米  '此代码是调整"标题与表格"之间的间距
doc.Body.Children.Add(rx) '将文本对象加入到表格中
Doc.Preview() '预览报表
'Doc.Print()

打印按钮代码:

Dim doc As New PrintDoc()
doc.PageSetting.Width = 190 '纸张宽度为190毫米
doc.PageSetting.Height = 93 '纸张高度为93毫米
doc.AutoRotate = False '如果纸张的宽度超过高度,要加上这行代码
'添加打印内容
'Dim doc As New PrintDoc '定义一个报表
Dim rt As New prt.RenderTable() '定义一个表格对象
Dim rx As New prt.RenderText '定义一个文本对象
doc.PageSetting.Landscape = True '横向打印  逻辑型型,是否横向打印
Doc.PageSetting.TopMargin = 5 '设置上边距为15毫米
Doc.PageSetting.LeftMargin = 15 '设置左边距,单位为毫米
Doc.PageSetting.RightMargin = 15 '设置右边距
Doc.PageSetting.BottomMargin = 5 '设置下边距  底边距
Dim CurRow As Row = Tables("表A").Current
'加入标题
rx.text = "浙中旅游公司——员工资料卡"
rx.Style.FontBold = True '字体加粗
rx.Style.FontSize = 16 '大体大小为16磅
rx.Style.TextAlignHorz = prt.AlignHorzEnum.Center '水平居中排列
rx.Style.Spacing.Bottom = 2 '和下面的对象(表格)距离3毫米
doc.Body.Children.Add(rx) '加入到报表中
'指定行数、列数、列宽、行高
rt.Rows.Count = 7 '设置总行数
rt.Cols.Count = 5 '设置总列数
rt.Height = 55 '设置表格的高度为80毫米
rt.Width = 155'设置表格的宽度为160毫米
rt.Rows(6).Height = 16 '设置第7行(显示备注的行)的高度为40毫米,剩余高度被平均分排到其他行
'rt.Cols(0).Width = 24 '设置前四列的宽度,剩余的宽度被分配给5列(显示图片的那列)
rt.Cols(1).Width = 35
'rt.Cols(2).Width = 24
rt.Cols(3).Width = 35
rt.Cols(4).Width = 35
'设置合并单元格
rt.Cells(0, 4).SpanRows = 6 '第1行第5个单元格向下合并6行(用于显示照片)
rt.Cells(4, 1).SpanCols = 3 '第5行第2个单元格向右合并3列(用于显示地址)
rt.Cells(6, 0).SpanCols = 5 '第7行第1个单元格向右合并5列(用于显示备注)
'设置表格样式
rt.CellStyle.Spacing.All = 1 '单元格内容缩进1毫米
rt.Style.GridLines.All = New prt.Linedef '设置网格线
rt.Style.TextAlignHorz = prt.AlignHorzEnum.Center '水平居中排列  新增
rt.Style.TextAlignVert = prt.AlignVertEnum.Center '内容垂直居中
'rt.Style.Font = New Font("宋体", 11, FontStyle.Bold) '设置字体   新增
rt.Style.Font = New Font("宋体", 11) '设置字体   新增
rt.Rows(6).Style.TextAlignVert = prt.AlignVertEnum.Top '唯独第7行是备注,内容靠上对齐
'下面很简单,指定每一个单元格的内容
rt.Cells(0, 0).Text = "姓  名"
rt.Cells(0, 1).Text = CurRow("姓名")
rt.Cells(0, 2).Text = "出生日期"
rt.Cells(0, 3).Text = CurRow("出生日期")
rt.Cells(1, 0).Text = "部  门"
rt.Cells(1, 1).Text = CurRow("部门")
rt.Cells(1, 2).Text = "雇佣日期"
rt.Cells(1, 3).Text = CurRow("雇佣日期")
rt.Cells(2, 0).Text = "性  别"
rt.Cells(2, 1).Text = CurRow("性别")
rt.Cells(2, 2).Text = "职  务"
rt.Cells(2, 3).Text = CurRow("职务")
rt.Cells(3, 0).Text = "城  市"
rt.Cells(3, 1).Text = CurRow("城市")
rt.Cells(3, 2).Text = "邮政编码"
rt.Cells(3, 3).Text = CurRow("邮政编码")
rt.Cells(4, 0).Text = "地  址"
rt.Cells(4, 1).Text = CurRow("地址")
rt.Cells(5, 0).Text = "家庭电话"
rt.Cells(5, 1).Text = CurRow("家庭电话")
rt.Cells(5, 2).Text = "办公电话"
rt.Cells(5, 3).Text = CurRow("办公电话")
rt.Cells(6, 0).Text = CurRow("备注")
rt.Cells(0, 4).Image = GetImage(CurRow("照片"))
doc.Body.Children.Add(rt) '将表格对象加入到报表中

'二维码代码     
Dim rg As prt.RenderGraphics
Dim mg As String = ProjectPath & "Images\二维码.wmf"''约定的图片文件 二维码保存代码1
Dim Bar As New BarCodeBuilder
Bar.Symbology = Barpro.Symbology.QRCode
Bar.QRCodeModuleSize = 2 '二维码的放大倍数
Bar.Code = "姓名:" & CurRow("姓名") & vbcrlf & "部门:" & CurRow("部门") & vbcrlf & "电话:" & CurRow("办公电话") 
bar.SaveImage(mg, 300) '二维码保存代码2
rg = New prt.RenderGraphics
bar.DrawOnCanvas(rg.Graphics, 0, 0, 0.5)
rg.Style.ImageAlign.AlignHorz = prt.ImageAlignHorzEnum.Center '图片水平居中
rg.Style.ImageAlign.AlignVert = prt.ImageAlignVertEnum.Center '图片垂直居中
rg.Style.ImageAlign.StretchHorz = False '禁止水平方向扩展图片
rg.Style.ImageAlign.StretchVert = False '禁止垂直方向扩展图片
Dim ra2 = rt.Cells(0, 4).Area '引用单元格的容器 '
ra2.Children.Add(rg)
'表格后新增内容设计
rx = New prt.RenderText() '再次定义一个文本对象
rx.Text = "说明:第一联(存根),第二联(客户),第三联(会计)"
rx.Style.Font = New Font("仿宋", 10 , FontStyle.Bold) '设置文本对象的字体
rx.Style.Spacing.Top = 2 '表格和前面对象的垂直间隔为4毫米  '此代码是调整"标题与表格"之间的间距
doc.Body.Children.Add(rx) '将文本对象加入到表格中
'doc.Preview() '预览报表
Doc.Print()'直接打印
[此贴子已经被作者于2022/7/12 11:39:06编辑过]

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


加好友 发短信
等级:超级版主 帖子:107880 积分:548763 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/7/12 11:42:00 [只看该作者]

去掉doc.PageSetting.Landscape = True

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


加好友 发短信
等级:三尾狐 帖子:707 积分:5039 威望:0 精华:0 注册:2016/4/15 22:24:00
谢谢老师指导  发帖心情 Post By:2022/7/12 12:24:00 [只看该作者]

终于打了一张正常的

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


加好友 发短信
等级:三尾狐 帖子:707 积分:5039 威望:0 精华:0 注册:2016/4/15 22:24:00
代码  发帖心情 Post By:2022/7/20 8:48:00 [只看该作者]

老师,我在进账单窗口设计时,想从日期列提取日,比如2022-07-01,e.Text = Day(e.Value),这个代码得到1,我想为2位数,得到01,请教老师如何修改?

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


加好友 发短信
等级:超级版主 帖子:107880 积分:548763 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/7/20 8:59:00 [只看该作者]

e.Text = format(e.Value,"dd")

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


加好友 发短信
等级:三尾狐 帖子:707 积分:5039 威望:0 精华:0 注册:2016/4/15 22:24:00
代码  发帖心情 Post By:2022/8/19 13:40:00 [只看该作者]

保存达到这个效果:选房顺序号(2022-08-19  132029).

老师,帮忙看一下下面代码怎么修改?

Dim fl As String = ProjectPath & "Reports\打印报表\" & format(Date.now, "yyyy-MM-dd") & "\" & r("户型") & "  选房顺序号" & "(" & format(Date.now, "yyyy-MM-dd") & "  " & "HH:mm:ss" & ").xls"


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