以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 发布软件是集成造字程序 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=32580) |
-- 作者:wzh198059 -- 发布时间:2013/5/4 14:42:00 -- 发布软件是集成造字程序 请教大家:本人用windows的造字程序做了许多特殊字符用在foxtable开发的“机械零件工艺管理软件”中,但是:在不同电脑上无法显示,只有在Dos中用Dos命令复制c:\\windows\\fonts\\中的 eudc.euf 和 eudc.tte 两个文件到不同电脑上相应的目录里才可以,(且是安装了造字程序的电脑商才能正常显示) 问题1:有没有更好的办法实现(机械加工特殊字符处理) 问题2:如何在发布程序是集成安装造字程序并自动更新以上两个文件。
|
-- 作者:Bin -- 发布时间:2013/5/4 14:45:00 -- 不知道打包软件有没这个功能. 如果没有的话可以把文件放到软件目录下.然后在B额forOpenProJEct事件中先判断一下系统目录下是否存在该文件,不存在就复制一份过去即可.
|
-- 作者:狐狸爸爸 -- 发布时间:2013/5/4 14:45:00 -- 安装打包软件,应该可以将字体包括在安装包中,安装到目标电脑。 |
-- 作者:wzh198059 -- 发布时间:2013/5/4 17:41:00 -- 谢谢大家的帮助!试试看 |
-- 作者:程兴刚 -- 发布时间:2013/5/4 18:29:00 -- eudc.euf 和 eudc.tte 字符专用文件,在windows打开后部分字符被引用,不管是安装,还是复制粘贴,都会有报错提示,这个还应该需要特殊的方法来处理(期待答案)! |
-- 作者:wzh198059 -- 发布时间:2013/5/5 10:41:00 -- 昨天在另外的电脑上(未安装windows自带的turetype“造字程序”),用dos 命令 copy eudc.euf和eudc.tte 后重新启动系统 成功显示自造特殊字符,在foxtable表格中随意使用,但是 当生成专业报表时 \'生成相应的零件工艺报表,并保存为pdf格式并保存到 Dim doc As New PrintDoc \'定义一个新报表 Dim rt As New prt.RenderTable \'定义一个新表格 Dim rs As New prt.RenderText() \'定义一个文本对象 rs.Text = "零件工艺卡" \'设置文本对象的内容 rs.Style.Font = New Font("微软雅黑", 12 , FontStyle.Bold) \'设置文本对象的字体 rs.Style.TextAlignHorz = prt.AlignHorzEnum.Center \'文本内容水平居中 doc.Body.Children.Add(rs) \'将文本对象加入到报表中 \'以下插入一个2行5列的表1用于显示零件明细 rt.Style.GridLines.All = New prt.LineDef \'将网格线类型设为默认类型 rt.Rows.Count = 2 \'设置行数为2行 rt.Cols.Count = 5 \'设置列数为5列 rt.Height = "3cm" \'设置表格的高度 rt.Style.Spacing.Top = 8 \'表格和前面对象的垂直间隔为8毫米 rt.Style.Spacing.Bottom = 4 \'表和和后续对象的垂直间隔为4毫米 rt.Cells(0,0).Text = "物料号" \'填入内容 rt.Cells(0,0).Style.TextAlignHorz = prt.AlignHorzEnum.Center \'内容水平居中 rt.Cells(0,1).Text = "物料描述" rt.Cells(0,1).Style.TextAlignHorz = prt.AlignHorzEnum.Center \'内容水平居中 rt.Cells(0,2).Text = "材质" rt.Cells(0,2).Style.TextAlignHorz = prt.AlignHorzEnum.Center \'内容水平居中 rt.Cells(0,3).Text = "归属" rt.Cells(0,3).Style.TextAlignHorz = prt.AlignHorzEnum.Center \'内容水平居中 rt.Cells(0,4).Text = "存档日期" rt.Cells(0,4).Style.TextAlignHorz = prt.AlignHorzEnum.Center \'内容水平居中 rt.Cells(1,0).Text = Tables("零件信息表").Current("物料号") rt.Cells(1,0).Style.TextAlignHorz = prt.AlignHorzEnum.Center \'内容水平居中 rt.Cells(1,1).Text = Tables("零件信息表").Current("物料描述") rt.Cells(1,1).Style.TextAlignHorz = prt.AlignHorzEnum.Center \'内容水平居中 rt.Cells(1,2).Text = Tables("零件信息表").Current("材质") rt.Cells(1,2).Style.TextAlignHorz = prt.AlignHorzEnum.Center \'内容水平居中 rt.Cells(1,3).Text = Tables("零件信息表").Current("归属") rt.Cells(1,3).Style.TextAlignHorz = prt.AlignHorzEnum.Center \'内容水平居中 rt.Cells(1,4).Text = Tables("零件信息表").Current("存档日期") rt.Cells(1,4).Style.TextAlignHorz = prt.AlignHorzEnum.Center \'内容水平居中 doc.Body.Children.Add(rt) \'将表格对象加入到报表中 \'再次定义一个表格,作为主表格 rt = new prt.RenderTable Dim tb As Table = Tables("添加窗口_table2") Dim ColNames As New List(Of String) \'添加要打印的列 Colnames.Add("工序号") Colnames.Add("工序名称") Colnames.Add("工序描述") Colnames.Add("工装_编号") Colnames.Add("工装_名称") Colnames.Add("备注") rt.SplitHorzBehavior = prt.SplitBehaviorEnum.SplitIfNeeded \'表格宽度超出页宽时,可以水平换页 rt.Style.Font = tb.Font For c As Integer = 0 To ColNames.Count - 1 \'逐列设置和填入内容 rt.Cells(0,c).Text = ColNames(c) \'列名作为标题 rt.Cells(0,c).Style.TextAlignHorz = prt.AlignHorzEnum.Center \'标题内容水平居中 rt.Cols(c).Width = tb.Cols(ColNames(c)).PrintWidth \'列宽等于实际列宽 If tb.Cols(ColNames(c)).IsNumeric OrElse tb.Cols(ColNames(c)).IsDate Then \'如果是数值或日期列 rt.Cols(c).Style.TextAlignHorz = prt.AlignHorzEnum.Right \'数据水平靠右 End If For r As Integer = 0 To tb.Rows.Count -1 \'开始填入该列内容 rt.Cells(r + 1, c).Text = tb.Rows(r)(ColNames(c)) Next Next rt.Style.Gridlines.All = New prt.Linedef(Color.Gray) \'灰色网格线 rt.CellStyle.Spacing.All = 2 \'单元格内距设为2毫米 rt.Rows(0).Style.TextAlignHorz = prt.AlignHorzEnum.Center \'第一行内容水平居中 rt.RowGroups(0,1).Header = prt.TableHeaderEnum.All \'利用行组,将第一行设为表头. \'如果"附图_编号"列不为空,则插入"附图_图示"图片 For r As Integer = 0 To tb.Rows.count -1 If tb.Rows(r).IsNull("附图_编号") = False Then rt.Rows.Insert(r + 2)\'先插入一空行 rt.Cells(r+2,0).SpanCols = 6 \'第r此行从第一列开始向右合并6列 Dim rm As New prt.RenderImage() \'定义一个图片对象 rm.Image = GetImage(projectpath & "Attachments\\附图_图示\\" & tb.rows(r)("附图_编号") & ".jpg") \'请改为实际的图标名称和路径 rm.Style.ImageAlign.AlignHorz = prt.ImageAlignHorzEnum.Center \'图片水平居中 rm.Style.ImageAlign.AlignVert = prt.ImageAlignVertEnum.Center \'图片垂直居中 rm.Style.ImageAlign.StretchHorz = False \'禁止水平方向扩展图片 rm.Style.ImageAlign.StretchVert = False \'禁止垂直方向扩展图片 rt.Style.GridLines.All = New prt.Linedef(Color.DarkGray) \'将表格的颜色设为深灰色 rt.Cells(r + 2,0).RenderObject = rm \'将单元格内容设置为图片对象rm End If Next doc.Body.Children.Add(rt) \'将表格加入到报表 Doc.SavePDF(projectpath & "Attachments\\工艺报表-pdf\\" & Vars("str_wlh") & ".pdf") DataTables("零件信息表").Save() DataTables("零件工艺表").Save() e.Form.Close 报表可以正常以pdf格式显示,单特殊字符 不能正常显示;表格字体又不能设为字符专用文件,怎么办?弄了好几天,请各位高手帮帮忙,有什么好办法? |
-- 作者:wzh198059 -- 发布时间:2013/5/5 18:06:00 -- 自己顶上去,急啊! |
-- 作者:don -- 发布时间:2013/5/5 18:37:00 -- 没更可行的方法前,可否改用图片? |
-- 作者:wzh198059 -- 发布时间:2013/5/6 10:24:00 -- 发布软件是集成造字程序 改成插入图片,保存好像很麻烦,不知狐爸有没有其它办法 |
-- 作者:wzh198059 -- 发布时间:2013/5/6 16:15:00 -- 跪求好的特殊字符插入并正常显示的办法!!!!!!!,做个零件工艺管理系统,但是机械加工好多特殊符号插入后保存为pdf格式文件无法正常显示特殊字符,其它倒是正常,因为工艺卡片会更具不同零件需要,在不同位置插入附图,所以只能用专业报表来解决,但是生成的报表不能显示特殊文字。插入图片方式也行不通。期待高人指点,顺便谢谢唐诗三摆首的指点。 |