如何能求出表格第二行的高度?我用文字加一行,再加一行也可以试验出来(比如1.3行高度多增一行是0.7,1.5行高度多增一行是0.8),用文本字体格式算出来的方法得出的数据不是很准确(h2),能否有更快的方法?
Dim doc As New PrintDoc '定义一个报表
doc.PageSetting.Landscape = True '横向打印
Doc.PageSetting.LeftMargin = 25 '设置左边距
Doc.PageSetting.RightMargin = 20 '设置右边距
Doc.PageSetting.TopMargin = 20 '设置左边距
Doc.PageSetting.BottomMargin = 20 '设置左边距
Dim rt As New prt.RenderTable() '定义一个表格对象
rt.Style.GridLines.All = New prt.LineDef '将网格线类型设为默认类型
rt.Width = 100 '表宽为150毫米
Dim rx2 As New prt.RenderText '创建一个文本
rx2.Width = 100
rx2.Text = "以及科学技术的发展,短视频术的发展,短视术的发展,短发展,短视短视术的发展,短发展,短视频频术的发展发展,短视术的发展发展,短视术的发展,短视视"
rx2.Style.Font = New Font("宋体", 15, FontStyle.Bold) '设置字体如果不设置字体,会出现导出PDF乱码
rx2.Style.LineSpacing = 150 '1.5倍行距
doc.Body.Children.Add(rt) '将表格对象加入到报表中
rt.Rows.Count = 2 '设置行数
rt.Rows(0).Height = 134
rt.Cols.Count = 1 '设置列数
rt.Cells(1,0).RenderObject = rx2
Dim g As Graphics = basemainform.CreateGraphics
g.PageUnit = GraphicsUnit.Millimeter '设置计算打印高度时的单位为毫米,和专业报表的单位一致
Dim size As Object
size = g.MeasureString(rx2.Text, rx2.Style.Font, 100) '文本/样式/宽度
Dim h2 As Integer = size.height
Output.Show(rt.Height)
Output.Show(h2)
Doc.Preview() '预览报表