以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  小piao设计中,怎么设置纸张宽度和高度呢?主要是打印预览的时候,不是我预设的宽度,另外:如何控制小piao纸刚好等于 找还 下的一行 而不打印多余的空白行 求解!  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=54394)

--  作者:李孝春
--  发布时间:2014/7/27 13:57:00
--  小piao设计中,怎么设置纸张宽度和高度呢?主要是打印预览的时候,不是我预设的宽度,另外:如何控制小piao纸刚好等于 找还 下的一行 而不打印多余的空白行 求解!
小票设计中,怎么设置纸张宽度和高度呢?主要是打印预览的时候,不是我预设的宽度,求解 另外:如何控制小票纸刚好等于 找还 下的一行 而不打印多余的空白行


预览时候显示如下:

图片点击可在新窗口打开查看此主题相关图片如下:qq图片20140727135304.jpg
图片点击可在新窗口打开查看
在预览中选择宽度后如下:(同时希望将地址 电话等放在 合计 已优惠  找还 下面 求解)

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

代码如下:

Dim doc As New Printdoc
Dim rx As prt.RenderText
Dim rt As prt.RenderTable
Dim rx1 As prt.RenderText
Dim rx2 As prt.RenderText
Dim rx3 As prt.RenderText

Doc.Style.Padding.right = 1
Doc.Style.Padding.Left = 1

rx = New prt.RenderText
rx.Style.FontSize = 16
rx.Style.FontBold = True
rx.Style.Spacing.Bottom = 5
rx.Style.TextAlignHorz = prt.AlignHorzEnum.Center
rx.Text = "袁记串串香  瓮安店" 
doc.Body.Children.Add(rx)
rx = New prt.RenderText
rx.Style.FontSize = 10
rx.Style.FontBold = True
rx.Style.Spacing.Bottom = 5
rx.Style.TextAlignHorz = prt.AlignHorzEnum.Center
rx.Text = "用一次性锅底 打造成都味道" 
 
doc.Body.Children.Add(rx)
rx1 = New prt.RenderText
rx1.Style.FontSize = 10
rx1.Style.FontBold = False
rx1.Style.Spacing.Bottom = 5
rx1.Text =  "打印时间:   " & Date.now()  & Chr(13) & Chr(10) & "桌号:" & Tables("消费明细").Current("餐桌编号") & "   单号: " & Tables("消费明细").Current("订单编号")
doc.Body.Children.Add(rx1)

rt = New prt.RenderTable
rt.Style.Padding.right = 1
rt.Style.Padding.Left = 1
rt.Style.TextAlignHorz = prt.AlignHorzEnum.Center
rt.Style.TextAlignVert = prt.AlignVertEnum.Center
rt.Style.Borders.Bottom = New prt.LineDef(0.3,Color.LightGray)
rt.CellStyle.Spacing.All = 0.2
rt.Cols.Count = 5
rt.Cells(0,0).Text = "物品"
rt.Cells(0,1).Text = "规格"
rt.Cells(0,2).Text = "数量"
rt.Cells(0,3).Text = "单价"
rt.Cells(0,4).Text = "累计"
rt.rows(0).Style.Borders.Top = New prt.LineDef(1,Color.LightGray)
rt.rows(0).Style.Borders.Bottom = New prt.LineDef(1,Color.LightGray)
With Tables("订单表.消费明细")
    For r As Integer = 0 To .Rows.Count - 1 \'遍历关联表每一行
        rt.Cells(r+1,0).Text = .rows(r)("消费物品")
        rt.Cells(r+1,1).Text = .rows(r)("物品规格")
        rt.Cells(r+1,2).Text = .rows(r)("消费数量")
        rt.Cells(r+1,3).Text = .rows(r)("物品单价")
        rt.Cells(r+1,4).Text = .rows(r)("累计消费")
    Next
End With
doc.Body.Children.Add(rt)

rx = New prt.RenderText
rx.Style.FontBold = False
rx.Style.FontSize = 10
rx.Style.Spacing.Top = 3
rx.Text = "合    计:" & Tables("结账登记").Current("消费金额") & "元;"  & "已优惠:" & Tables("结账登记").Current("应付金额") & "元" & Chr(13) & Chr(10) & "收    现:" &  Tables("结账登记").Current("支付现金") & "元;"  & "找    还:" & Tables("结账登记").Current("找零现金") & "元" & Chr(13) & Chr(10)& Chr(13)  

rx.Style.TextAlignHorz = prt.AlignHorzEnum.Left

rx2 = New prt.RenderText
rx2.Style.FontBold = False
rx2.Style.FontSize = 11
rx2.Style.Spacing.Top = 3
rx2.Text ="地  址:瓮安县农贸市场入口" & Chr(13) & Chr(10) & "加盟热线:028-77888878" & Chr(13) & Chr(10) & "订座热线:0854-77888878"
doc.Body.Children.Add(rx2)


doc.Body.Children.Add(rx)
doc.PageSetting.Width = 57 \'纸张宽度为100毫米

doc.Preview


--  作者:有点甜
--  发布时间:2014/7/27 14:04:00
--  
 第一个问题,你说的宽度是什么?
--  作者:有点甜
--  发布时间:2014/7/27 14:05:00
--  

第二个问题,注意添加的先后顺序

 

doc.Body.Children.Add(rx)
doc.Body.Children.Add(rx2)

--  作者:有点甜
--  发布时间:2014/7/27 14:06:00
--  

 设置纸张就是这样设置啊

 

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

 


--  作者:李孝春
--  发布时间:2014/7/27 14:12:00
--  回复:(有点甜) 设置纸张就是这样设置啊&nbs...
纸张宽度已经设置好了的 没有问题
现在的问题应该是页边距的问题  也就是预览时候如图一所示效果

文件内容已经更改该  

页边距问题还请老师知道一下
我自己设置的页边距只有文字部分可以用

预览时候不能自动打开如图二 效果

--  作者:有点甜
--  发布时间:2014/7/27 14:16:00
--  

 页边距设置例子

 

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

 

 


--  作者:李孝春
--  发布时间:2014/7/27 14:26:00
--  回复:(有点甜) 页边距设置例子 http...
有点甜老师 版面已经解决 文字部分也解决  由于是小票打印机 纸张是一卷的 
现在怎么控制 所生成的表中空白部分不打印呢?

也就是让小票打印纸打印 有文字部分


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


--  作者:有点甜
--  发布时间:2014/7/27 14:30:00
--  

 回复7楼,你设置好纸张的高度即可。

 

 比如,你可以设置高度是10,那么按张打印的时候,打印的是高度10的倍数。


--  作者:李孝春
--  发布时间:2014/7/27 14:52:00
--  回复:(有点甜) 回复7楼,你设置好纸张的高度即...
可以精确控制不 因为有时候消费只有2个 有时候会大于15个 那纸张长度是不一样的哦  
--  作者:有点甜
--  发布时间:2014/7/27 14:54:00
--  

 回复9楼,每页的上边距下边距全部设置成0,高度设置成一个适中的高度,或者设置成一个较小的高度,即可。

 

 或者,你大概预计打印的行数,动态的计算出高度,也可以的。