找回密码
 立即注册

QQ登录

只需一步,快速开始

GPCT

初级会员

30

主题

76

帖子

232

积分

初级会员

积分
232

活字格认证

GPCT
初级会员   /  发表于:2022-5-17 20:14  /   查看:2854  /  回复:5
1金币
1:背景:
我们的产品把用户输入的富文本rtf通过C1的RenderRichText和PrintDocument保存成一个Metafile,然后把这个Metafile赋值给AR的Picture对象,之后把这个Picture用AR的Viewer来预览,以及通过AR的PdfExport功能来导出。代码示意如下:---------------------------------------------------------------------
        Dim rtfCtl As New C1.C1Preview.RenderRichText(rtf)
        Dim doc As New C1.C1Preview.C1PrintDocument()
        doc.Body.Children.Add(rtfCtl)
        doc.Generate()

        Dim img As System.Drawing.Imaging.Metafile
        img = doc.Pages(0).AsMetafile(True).Clone()
        doc.Dispose()

        Dim picCtl As GrapeCity.ActiveReports.SectionReportModel.Picture
        picCtl.Image = img

---------------------------------------------------------------------
预览时使用的是:GrapeCity.ActiveReports.Viewer.Win.Viewer
导出时使用的是:GrapeCity.ActiveReports.Export.Pdf.Section.PdfExport

2:现象:
因为用户的富文本中会指定字体,例如MS明朝或者MSGothic。在通过AR的View预览时,没有任何问题。
但是在PDFExport时,一部分客户的PC上,会发生字体改变的现象。例如rtf里设置的是MS明朝,而生成的pdf里却是MSGothic。
目前已知这种想象和rtf的Metafile格式存储有关系,如果不使用这种格式,纯粹使用PNG等格式的话,没有任何问题。

另外,使用AR的View正常展示后,如果不通过AR的PdfExport导出,而是直接送打印机(Microsoft Print to PDF)的话,也能正常显示。
初步判定是AR的PdfExport功能在处理metafile中的字体时可能有缺陷。

3:问题:
因为目前只是在一小部分客户PC上发生,在开发环境都无法复现,所以目前还无法解决用户的这种问题,所以想咨询AR团队,能否给一些建议。


5 个回复

倒序浏览
James.Lv讲师达人认证 悬赏达人认证 活字格认证 Wyn认证
超级版主   /  发表于:2022-5-18 21:05:48
沙发
您好,您可以参考这个链接,您这个问题有两种情况,一种是报表设计的时候使用的字体库不包含汉字,例如你报表设计用的是Arial字体,导出中文的话,应该Arial字体没有中文汉字,所以会乱码;另外一种情况是您使用的字体服务器没有,比如您用的微软雅黑,但是服务器没安装这个字体可以参考文档:
https://help.grapecity.com/activ ... OnlineEN/index.html




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
GPCT
初级会员   /  发表于:2022-5-18 21:53:56
板凳
James.Lv 发表于 2022-5-18 21:05
您好,您可以参考这个链接,您这个问题有两种情况,一种是报表设计的时候使用的字体库不包含汉字,例如你报 ...

谢谢回复!
我们的程序是纯客户端应用,用户设置字体的时候,可选字体的全集来自于客户机安装的所有字体,所以能设置到rtf里面的字体,在本机一定存在。

想再问一下,既然导出到PDF的设置中允许指定font family string,那么鉴于一个字体的描述可以有英文描述,汉字描述等多种方式,这是否意味着汉字描述的字体在英文环境下就会发生无法识别字体的错误呢?
回复 使用道具 举报
James.Lv讲师达人认证 悬赏达人认证 活字格认证 Wyn认证
超级版主   /  发表于:2022-5-19 19:40:52
地板
GPCT 发表于 2022-5-18 21:53
谢谢回复!
我们的程序是纯客户端应用,用户设置字体的时候,可选字体的全集来自于客户机安装的所有字体 ...

这个具体不太清楚了,版本比较早了,而且是日文版那边的,可能具体也可以问问日本那边技术支持
回复 使用道具 举报
GPCT
初级会员   /  发表于:2022-5-19 19:52:45
5#
James.Lv 发表于 2022-5-19 19:40
这个具体不太清楚了,版本比较早了,而且是日文版那边的,可能具体也可以问问日本那边技术支持

好的,谢谢支持。
回复 使用道具 举报
Bella.YuanWyn认证
超级版主   /  发表于:2022-5-20 08:35:53
6#
GPCT 发表于 2022-5-19 19:52
好的,谢谢支持。

不客气
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部